# بوابة أبوصير
بوابة أبوصير سوق إلكتروني للإعلانات المبوبة في مصر ويمكن ضبطها الي كل بلدان العالم . تتيح للمستخدمين استكشاف الإعلانات ونشرها والتواصل مع أصحابها، مع أدوات لإدارة الحسابات ومراجعة المحتوى.
## المزايا
### الإعلانات والتصفح
- تصفح الإعلانات حسب الفئة، والبحث بالعنوان والكلمات المفتاحية مع اقتراحات تلقائية.
- صفحات تفصيلية للإعلان تشمل الصور والوصف والسعر والموقع ومعلومات العقار عند توفرها.
- إضافة الإعلانات وإدارة حالتها من لوحة المستخدم، مع مراجعة الإعلانات قبل نشرها.
- إظهار وسائل التواصل التي اختار صاحب الإعلان إتاحتها، مع تسجيل نقرات الاتصال وواتساب.
- الإبلاغ عن الإعلانات المخالفة أو الاحتيالية.
### الحسابات والتواصل
- إنشاء حساب وتسجيل الدخول وإدارة الملف الشخصي والإعلانات والمفضلة والمدفوعات.
- إضافة تعليق على الإعلان دون حساب، والرد على التعليقات بعد تسجيل الدخول.
- إشعارات داخل الموقع لصاحب الإعلان عند إضافة تعليق، ولصاحب التعليق المسجّل عند تلقي رد.
- محادثات خاصة بين المعلن والمهتم بالإعلان، مع حفظ الرسائل في MongoDB وتحديث فوري عبر Pusher Channels.
- قنوات Pusher خاصة؛ لا يستطيع المستخدم فتح محادثة أو قناة تخص مستخدمًا آخر.
### الإدارة
- مراجعة الإعلانات والبلاغات والمدفوعات وإدارة المستخدمين.
- إدارة صلاحيات فريق العمل متاحة للسوبر أدمن، مع تسجيل إجراءات الإدارة.
- إعدادات المنصة وإعلاناتها المميزة والتحويل اليدوي عبر إنستاباي أو فودافون كاش متاحة للسوبر أدمن. تُراجع التحويلات يدويًا قبل تمييز الإعلان ونشره.
## التقنيات
| المجال | التقنية |
| - | - |
| الواجهة والتصيير | Next.js 16 App Router وReact 19 |
| اللغة والأنماط | TypeScript وTailwind CSS 4 |
| المصادقة | Better Auth |
| قواعد البيانات | MongoDB عبر Prisma للمصادقة وMongoose لبقية بيانات التطبيق |
| البحث | Meilisearch اختياري، مع الرجوع إلى MongoDB عند عدم توفره |
| الرسائل الفورية | Pusher Channels وPusher JS |
| تخزين الصور | MongoDB GridFS |
تُحفظ المحادثات والرسائل والإشعارات في MongoDB. يستخدم Pusher لتسليم أحداث الرسائل والإشعارات فورًا، وتُحدّث المحادثة دوريًا عند الحاجة. يتطلب بدء محادثة إعداد Pusher كاملًا.