سوق الفرسان
سوقٌ لبيع وشراء الحيوانات الأليفة ولوازمها، مبني بـ Next.js 16 وFirebase Firestore، بملفّاتٍ للبائع والمشتري وقوائمَ ومراسلةٍ مدمجة.
شراء حيوانٍ أليف أو بيعه حوارٌ، لا نقرة دفعٍ واحدة. هذا السوق يقرن القوائم بمحادثةٍ فورية بين المشتري والبائع، فيُبقي Firestore القوائمَ الجديدة والرسائل حيّةً لحظةَ حدوثها.
ما الذي يحلّه
- لا يجد بائعو الحيوانات ومشتروها سوقًا مركزيًا لعرض الحيوانات واللوازم.
- والتفاوض عبر واتساب فوضوي ولا يوفّر أي حماية.
- وبلا تقييماتٍ أو بائعين موثَّقين، لا يجد المشتري القلق على سلامة الحيوان ما يطمئن إليه.
- ويعيش المخزون في جداول، دون تحديثاتٍ فورية.
الأثر
شراء/بيع الحيوانات واللوازم
محادثة البائع والمشتري

البنية
تدفّق البيانات
- تصفح عام → استعلام Firestore /listings
- تصفية حسب النوع / الموقع → من جانب العميل
- النقر على القائمة → تفاصيل + ملف البائع + زر المراسلة
- تسجيل الدخول → اختيار الدور (بائع / مشترٍ)
- تواصل مع البائع → /messages/{sellerId}_{buyerId}
- يتلقى البائع تحديثًا فوريًا → يرد
- لوحة البائع: إدارة القوائم والرسائل والتقييمات
- المسؤول: اعتماد/تمييز القوائم وإدارة البائعين
القرارات الهندسية
Firestore للزمن الفعلي
تظهر الرسائل فورًا دون استطلاعٍ دوري، وهو ما يناسب حركة سوقٍ صغيرة.
Firebase Auth مع مطالبات مخصّصة
يُخزَّن دور البائع أو المشتري كـ custom claim للتحكّم في الوصول.
قواعد التخزين السحابي
للبائعين وحدهم رفعُ صور الحيوانات، وللمشترين قراءتُها.
المراسلة عبر Firestore
مجموعة /messages/{docId} تحمل senderId وreceiverId وطابعًا زمنيًا ونصًّا، مع مستمعين فوريين على العميل.
توثيق البائع
خطوة مراجعةٍ يدوية (مخطَّطة)؛ يضبط المسؤولون verified: true في ملف البائع.
معرض الصور


