? تطبيق إدارة وطلب الطعام (تطبيق عميل + تطبيق شيف)
تطبيق مطعم متكامل يتكوّن من تطبيق للعميل (User App) وتطبيق منفصل للشيف (Chef App)، يوفّر تجربة سلسة لطلب الطعام وإدارة الطلبات لحظيًا باحترافية عالية.
أولًا: مميزات تطبيق العميل
? تسجيل الدخول والتسجيل عبر البريد الإلكتروني وكلمة المرور أو باستخدام حساب Google.
? تصفح قائمة الطعام مع عرض تفصيلي للأصناف والأسعار.
? إضافة المنتجات إلى السلة وإتمام الطلب بسهولة.
? خيارات دفع متعددة:
الدفع نقدًا عند الاستلام.
الدفع باستخدام البطاقة الائتمانية.
? تتبع الطلب (Order Tracking) بشكل لحظي لمعرفة حالة الطلب.
? الوضع الليلي (Dark Mode) لراحة المستخدم.
? دعم اللغتين العربية والإنجليزية.
❤️ إضافة المنتجات إلى المفضلة (Favourite) مع حفظها محليًا على الهاتف (Local Storage) دون الحاجة إلى خادم.
? إمكانية تعديل البيانات الشخصية مثل الاسم.
ثانيًا: مميزات تطبيق الشيف
عند قيام المستخدم بإرسال طلب جديد، يتم إرساله لحظيًا (Real-Time) إلى تطبيق الشيف، حيث يمكنه:
? استلام الطلب فورًا مع إشعار فوري.
? عرض بيانات العميل كاملة مثل:
الاسم
رقم الهاتف
الموقع
? الاطلاع على تفاصيل الطلب بالكامل.
? تغيير حالة الطلب بين الحالات التالية:
Pending
Waiting
Out for Delivery
Delivered
⏳ تحديد المدة المتوقعة للتوصيل (مثل: 5 دقائق – 30 دقيقة – ساعة).
آلية العمل
يعتمد التطبيق على نظام إرسال واستقبال بيانات لحظي يضمن سرعة تحديث حالة الطلب بين تطبيق العميل وتطبيق الشيف، مما يوفّر تجربة استخدام احترافية وسلسة للطرفين.
⚙️ الوصف التقني للتطبيق
تم تطوير التطبيق باستخدام أحدث التقنيات لضمان الأداء العالي، سهولة التوسع، وقابلية الصيانة مستقبلاً:
? Flutter
تم بناء التطبيق باستخدام إطار العمل Flutter لإنشاء تطبيقات موبايل عالية الأداء تعمل بكفاءة على Android و iOS من خلال كود موحد.
? إدارة الحالة باستخدام Bloc (Cubit)
تم استخدام Cubit من مكتبة Bloc لتنظيم وإدارة حالة التطبيق بشكل احترافي، مما يضمن فصل منطق العمل عن واجهة المستخدم وتحقيق كود منظم وقابل للاختبار.
? Clean Architecture
تم تطبيق مفهوم Clean Architecture لتقسيم المشروع إلى ثلاث طبقات رئيسية:
Data Layer
Domain Layer
Presentation Layer
وذلك لضمان سهولة التوسع، الاختبار، وإعادة الاستخدام مع تقليل الترابط بين المكونات.
? Repository Pattern
تم الاعتماد على Repository Pattern لعزل مصادر البيانات (Firebase) عن باقي أجزاء التطبيق، مما يجعل استبدال أو تعديل مصدر البيانات مستقبلاً أمرًا سهلاً دون التأثير على منطق التطبيق.
? Firebase Integration
Firebase Authentication لإدارة تسجيل الدخول (بريد إلكتروني / Google).
Cloud Firestore لتخزين البيانات وإدارة الطلبات والمستخدمين.
⚡ Real-Time Updates
جميع البيانات داخل التطبيقين (تطبيق العميل وتطبيق الشيف) يتم تحديثها لحظيًا (Real-Time) باستخدام Firestore Streams، مما يضمن:
وصول الطلبات فور إنشائها.
تحديث حالة الطلب مباشرة عند تغييرها.
مزامنة البيانات بين التطبيقين بدون تأخير.
التطبيق مصمم ليكون قابلًا للتطوير مستقبلًا، سواء بإضافة بوابة دفع إلكترونية متقدمة، لوحة تحكم إدارية، أو نظام تقارير وتحليلات متكامل.