عن المشروع

Seentics هي منصة تحليلات ويب مفتوحة المصدر تعطي الأولوية للخصوصية، ومصممة لتعمل على بنيتك التحتية الخاصة دون الحاجة إلى ملفات تعريف الارتباط (cookies)، أو البصمات الرقمية (fingerprinting)، أو مشاركة البيانات مع أطراف ثالثة. وفقاً لملف README، تجمع المنصة بين لوحات التحكم في الوقت الفعلي مع ميزات إعادة تشغيل الجلسات، والخرائط الحرارية، والمسارات (funnels)، وتتبع الإيرادات، والأتمتة السلوكية. ويمكن تشغيلها بسرعة عبر أمر docker compose الذي يقوم بتشغيل PostgreSQL و MinIO و API على المنفذ 8080 ولوحة تحكم على المنفذ 3000. الميزات الموثقة تشمل: تحليلات فورية مع خريطة زوار مباشرة، والصفحات النشطة، وحركة المرور لحظة حدوثها؛ وإعادة تشغيل الجلسات مع اكتشاف النقرات الغاضبة (rage-click) وأخطاء JavaScript؛ والخرائط الحرارية التي تغطي خرائط النقرات، وعمق التمرير، ولقطات شاشة للصفحات؛ ومسارات متعددة الخطوات مع معدلات التسرب؛ وتقارير الإيرادات التي تشمل الطلبات، ومتوسط قيمة الطلب (AOV)، ومتوسط الإيرادات لكل مستخدم (ARPU)، وإسناد قنوات UTM؛ والأحداث والأهداف المحددة بواسطة الصفحة أو الحدث أو محدد CSS؛ والأتمتة السلوكية التي تطلق النوافذ المنبثقة واللافتات و webhooks وإعادة التوجيه بناءً على السلوك؛ و Seentics AI الذي يجيب على الأسئلة باللغة الإنجليزية البسيطة ويعيد رسوماً بيانية، ويتم استدعاؤه عبر Cmd+K. يتم إضافة التتبع باستخدام وسم script مؤجل يشير إلى trackers/seentics.js مع سمة data-website-id، حيث يظهر هذا المعرف في صفحة إعدادات الموقع. يتم التقاط مشاهدات الصفحات، وعمق التمرير، ونية الخروج، والنقرات الغاضبة تلقائياً. توفر واجهة برمجة تطبيقات JavaScript دالة seentics.track للأحداث المخصصة، و seentics.identify لتحديد هوية الزائر، و seentics.page لمشاهدة الصفحة يدوياً عند إيقاف التتبع التلقائي، و seentics.flush لإرسال الأحداث المجدولة فوراً. تعتمد تقارير الإيرادات على القيمة والعملة في أي حدث، بينما يتم تكوين الأهداف في لوحة التحكم بدلاً من الكود. يتكون تخطيط المشروع الموصوف في README من ثلاثة أجزاء: دليل core وهو عبارة عن API بنظام modular monolith مبني باستخدام Bun و Hono يحتوي على جذر التكوين، ووحدات النطاق، وكود المنصة، والبنية التحتية مثل event bus و transactional outbox، ومخطط Drizzle والتهجيرات. ودليل web وهو لوحة تحكم Next.js تحتوي أيضاً على نص التتبع العام. ودليل ui/blocks وهو حزمة React قابلة للتضمين منشورة باسم @seentics/ui. تتواصل الوحدات عبر واجهات صريحة للمكالمات المتزامنة وأحداث نطاق محددة النوع للمكالمات غير المتزامنة. وينصح README بقراءة core/ARCHITECTURE.md قبل تعديل core لأنها تغطي حدود الوحدات وضمانات event bus والفجوات المعروفة. يتم تخزين أحداث التتبع مؤقتاً في الذاكرة وترسل في دفعات حتى تعود نقطة النهاية collect دون انتظار قاعدة البيانات، وتذهب أجزاء إعادة التشغيل ولقطات الخرائط الحرارية إلى تخزين متوافق مع S3. تتكون الحزمة التقنية الموثقة من Bun و Hono و Drizzle ORM للـ API؛ و Next.js 15 مع Tailwind و shadcn/ui للوحة التحكم؛ و PostgreSQL 16 وتخزين كائنات متوافق مع S3 للبيانات؛ و rrweb لإعادة التشغيل. لاختبارات التتبع الحقيقية، يشير README إلى إعدادات نهاية إلى نهاية لتسجيل الجلسات والخرائط الحرارية التي تنشئ حزمة اختبار معزولة ثم تحذف البيانات المؤقتة لاحقاً. يعمل المساهمون في core باستخدام bun install، ثم bun run check للتحقق من الأنواع، و bun test لحوالي 630 اختباراً لا تتطلب قاعدة بيانات أو S3. يقوم CI بتشغيل check و test عند كل طلب سحب (pull request) ويُتوقع نجاحهما. ويحذر README من أن mock.module هو process-global في Bun، لذا فإن أي stub غير مكتمل قد يصبح الوحدة الحقيقية لكل ملف اختبار لاحق. الترخيص: المستودع يخضع لرخصة GNU AGPL v3.0، لذا فإن الاستضافة الذاتية مجانية ويجب إصدار التعديلات تحت نفس الرخصة، بينما حزمة @seentics/ui تحت ui/blocks مرخصة بشكل منفصل بموجب رخصة MIT. تتوفر نسخة تجريبية حية بدون حساب على seentics.com/websites/demo.