ShopShop تطبيق تسوّق متكامل للجوال مبني بـ Flutter وFirebase. يتصفح العميل المنتجات، ويحفظ المفضلة والسلة، ويطلب بالدفع عند الاستلام، ويتابع حالة طلبه لحظة بلحظة. ويتولى المدير إدارة المنتجات ومعالجة الطلبات من لوحة تحكم مخصصة.
للعملاء:
التسجيل وتسجيل الدخول واستعادة كلمة المرور، مع ملف شخصي للاسم والهاتف وعنوان التوصيل.
كتالوج منتجات مع البحث بالاسم والتصفية حسب التصنيف والمنتجات المميزة والمخزون المحدّث مباشرة.
المفضلة والسلة محفوظتان في السحابة، فتبقيان عند تغيير الجهاز أو إعادة تشغيل التطبيق.
إتمام الطلب بالدفع عند الاستلام، ومتابعة حالته وإلغاؤه قبل التأكيد.
إشعارات بتغيّر حالة الطلب (تأكيد، شحن، تسليم، إلغاء) مع قائمة إشعارات داخل التطبيق.
وضع فاتح وداكن.
للمدير:
لوحة تحكم لإضافة المنتجات وتعديلها وحذفها.
قائمة طلبات مع تصفية بالحالة وتفاصيل العميل والعناصر والتوصيل.
نقل الطلب خطوة بخطوة (قيد الانتظار ← مؤكد ← قيد التجهيز ← تم الشحن ← تم التسليم) أو إلغاؤه قبل الشحن، مع إرجاع المخزون تلقائيًا عند الإلغاء.
ما يميّز المشروع:
أمان بلا خادم: يعمل بالكامل على الخطة المجانية من Firebase، وقواعد Firestore Security Rules هي الجهة الموثوقة التي تتحقق من الأسعار والإجماليات والمخزون وحالات الطلب، فلا يستطيع أي عميل التلاعب بالسعر أو منح نفسه صلاحيات المدير.
يتم الطلب بعملية (Transaction) واحدة تخصم المخزون وتنشئ الطلب وتفرّغ السلة معًا.
بنية نظيفة (Clean Architecture) باستخدام flutter_bloc وgo_router وget_it.
اختبارات شاملة: اختبارات وحدة وواجهات، واختبارات لقواعد الأمان على محاكي Firestore.
التقنيات: Flutter، Firebase Authentication، Cloud Firestore، flutter_bloc، go_router، get_it.