تفاصيل العمل

الوصف المشورع

يهدف هذا المشروع إلى تطوير تطبيق هاتف ذكي يربط بين العملاء الذين يرغبون في إرسال طرود وبين مناديب التوصيل القريبين منهم من خلال نظام يعتمد على المناقصة أو المنافسة على السعر. بدلاً من الاعتماد على سعر توصيل ثابت، يتيح النظام للمناديب تقديم عروض أسعار مختلفة لتوصيل الطرد، مما يسمح للعميل باختيار العرض الأنسب له بناءً على السعر أو الوقت المتوقع للتوصيل أو تقييم المندوب.

من خلال التطبيق، يستطيع العميل إنشاء طلب شحن عن طريق إدخال معلومات تفصيلية عن الطرد مثل نوعه، حجمه، وزنه، وصفه، وإرفاق صورة له إذا لزم الأمر. كما يقوم بإدخال بيانات مكان الاستلام ومكان التسليم، ومعلومات المستلم، وأي ملاحظات إضافية قد تساعد المندوب أثناء عملية التوصيل. بالإضافة إلى ذلك، يمكن للعميل تحديد مبلغ التحصيل من المستلم (الدفع عند الاستلام - COD) واقتراح سعر مناسب لعملية التوصيل.

بعد نشر طلب الشحن في النظام، يستطيع مناديب التوصيل القريبون من موقع الاستلام الاطلاع على تفاصيل الطلب وتقديم عروض أسعار لتوصيله. يقوم العميل بعد ذلك بمراجعة جميع العروض المتاحة واختيار العرض الأنسب له. بعد قبول العرض، يتولى المندوب عملية استلام الطرد من المرسل ثم توصيله إلى المستلم مع تحديث حالة الطلب داخل التطبيق خلال مراحل التوصيل المختلفة.

كما يوفر النظام مجموعة من المزايا مثل متابعة حالة الشحنة، إدارة الطلبات، وعرض تفاصيل الشحن بشكل واضح، مما يساعد على تحقيق الشفافية والموثوقية لكل من العميل والمندوب. ومن خلال نظام المنافسة بين المناديب، يساهم التطبيق في تقليل تكاليف التوصيل على العملاء، وفي الوقت نفسه يوفر فرص عمل مرنة للمناديب.

بشكل عام، يهدف المشروع إلى تحسين كفاءة خدمات التوصيل المحلية من خلال تقديم منصة بسيطة وموثوقة وفعالة لإدارة عمليات شحن الطرود.

التقنيات المستخدمة

Flutter: إطار عمل متعدد المنصات لبناء تطبيقات الهاتف المحمول.

Dart: لغة البرمجة المستخدمة في التطوير.

Firebase Authentication: لإدارة تسجيل المستخدمين والمصادقة.

Firebase Firestore: لإدارة قواعد البيانات بشكل لحظي.

Supabase Storage: للتخزين السحابي وإدارة الملفات.

Git & GitHub: لإدارة الإصدارات والتعاون بين فريق العمل.

Bloc / Cubit: لإدارة حالة التطبيق.

Clean Architecture: لتنظيم الكود بشكل قابل للتوسع وسهل الصيانة.

Shared Preferences: لتخزين البيانات محليًا..

Figma: تم استخدامه لتصميم وتنظيم واجهات المستخدم، وترتيب الشاشات، وضمان تجربة استخدام متناسقة وسهلة.

Stitch: تم استخدامه لإنشاء التصاميم الأولية والمكونات البصرية، مما ساعد في تسريع عملية التصميم وبناء نموذج مبدئي للتطبيق.

بطاقة العمل