? وصف المشروع
**Order Together** هو تطبيق جوال متطور للطلب الجماعي للطعام، مصمم لمساعدة الأصدقاء والمجموعات على طلب الوجبات معًا بسلاسة وفعالية.
? نوع العمل
**تطبيق جوال تعاوني للطلبات الجماعية** يعمل على أنظمة iOS و Android، يتيح للمستخدمين:
- إنشاء طلبات جماعية جديدة أو الانضمام إلى طلبات موجودة
- تصفح قوائم المطاعم وتخصيص الطلبات
- تتبع المدفوعات وتقسيم الفواتير بعدالة
- إدارة الملفات الشخصية وسجل الطلبات
? الميزات الرئيسية
**الوظائف الأساسية**
- **الطلب الجماعي**: إنشاء أو الانضمام للطلبات باستخدام رموز المرور
- **اختيار المطاعم**: استعراض المطاعم المشاركة واختيار الأفضل
- **تصفح القوائم**: عرض قوائم الطعام بمعلومات تفصيلية
- **الطلبات المخصصة**: تخصيص العناصر حسب التفضيلات الشخصية
- **سلة التسوق المباشرة**: تحديثات فورية ومزامنة تلقائية
- **تتبع المدفوعات**: مراقبة من دفع وتقسيم الفواتير
- **سجل الطلبات**: عرض الطلبات السابقة والإيصالات
- **الملفات الشخصية**: إدارة المعلومات والتفضيلات
**الميزات التقنية**
- **تحديثات فورية**: مزامنة كل 5 ثوانٍ للسلة النشطة
- **دعم بدون اتصال**: تخزين مستمر للبيانات
- **تصميم متجاوب**: يعمل على iOS و Android
- **مصادقة آمنة**: JWT مع تحديث تلقائي للرموز
- **معالجة الصور**: رفع الصور للملفات الشخصية والإيصالات
- **معالجة الأخطاء**: تغذية راجعة شاملة للمستخدمين
? تقنيات التنفيذ
**الواجهة الأمامية**
- **React Native **: تطوير متعدد المنصات
- **Expo SDK**: منصة التطوير والأدوات
- **TypeScript**: تطوير آمن من حيث النوع
- **Expo Router **: نظام التوجيه القائم على الملفات
**إدارة الحالة**
- **Redux Toolkit **: إدارة الحالة التنبؤية
- **Redux Persist **: تخزين الحالة المستمر
- **RTK Query**: جلب البيانات والتخزين المؤقت
**الواجهة والتصميم**
- **React Native Reanimated 4.1.1**: رسوم متحركة سلسة
- **React Native Gesture Handler 2.28.0**: معالجة الإيماءات
- **Lucide React Native 0.562.0**: مكتبة الأيقونات
- **خطوط Sen مخصصة**: طباعة متسقة
? طريقة التنفيذ
**1. بنية المشروع**
```
src/
├── app/ # صفحات وتخطيطات التطبيق
├── components/ # مكونات واجهة المستخدم القابلة لإعادة الاستخدام
├── screens/ # مكونات الشاشات
├── services/ # API والمنطق التجاري
├── store/ # تكوين Redux
├── types/ # تعريفات TypeScript
└── constants/ # ثوابت التطبيق
```
**2. تدفق البيانات**
1. **مصادقة المستخدم**: رموز JWT مع تحديث تلقائي
2. **مزامنة السلة**: استطلاع كل 5 ثوانٍ للسلات النشطة
3. **الدعم بدون اتصال**: تخزين مستمر لبيانات السلة والمستخدم
4. **معالجة الأخطاء**: حدود أخطاء شاملة وتغذية راجعة
**3. الميزات التقنية المتقدمة**
- **التوجيه القائم على الملفات**: إنشاء تلقائي للمسارات
- **التخزين الآمن**: تخزين البيانات الحساسة بشكل آمن
- **تحسين الأداء**: تخزين مؤقت ذكي وتحسين حجم الحزمة
- **التصميم المتجاوب**: التكيف مع مختلف أحجام الشاشات
**4. عملية التطوير**
- **البيئة المحلية**: محاكي iOS ومحاكي Android
- **البناء**: أوامر بناء مخصصة لكل منصة
- **النشر**: دعم App Store و Google Play
- **الاختبار**: TypeScript و ESLint لضمان الجودة
? الهدف النهائي
تطبيق **Order Together** هو حل شامل للطلبات الجماعية يجمع بين:
- **سهولة الاستخدام**: واجهة بديهية وسلسة
- **الموثوقية**: مزامنة فورية ودعم بدون اتصال
- **الأمان**: مصادقة قوية وتخزين آمن
- **الأداء**: تحسينات شاملة لتجربة مستخدم ممتازة
التطبيق مصمم ليكون الحل الأمثل للمجموعات التي ترغب في طلب الطعام معًا بتنظيم وعدالة.