تخطَّ إلى المحتوى
كل المشاريع
مشروع عميل الصحةالتوصيل والتجارة

MidGram

الصيدليات والمندوبون الطبيون في تطبيق لحظي واحد

تطبيق B2B عربي يربط الصيدليات بالمندوبين الطبيين في العراق: منشورات منتجات وطلبات ومحادثات لحظية ومواعيد زيارة من داخل المحادثة على Firebase.

الدولة
العراق
النوع
مشروع عميل
المنصات
Android · iOS
بانر MidGram
دوران في تطبيق واحد
2

نظرة عامة

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

تطبيق واحد يخدم الجمهورين: يختار المستخدم دوره عند أول تشغيل فينتقل التطبيق إلى موديول مخصص لهذا الدور. الواجهة عربية بالكامل وتدعم RTL، وهو موجّه للسوق العراقي وسُلِّم للعميل دون نشر على المتاجر العامة.

التحدي

  1. 01

    كانت الصيدليات والمندوبون يتنسّقون عبر المكالمات وتطبيقات المراسلة الشخصية، فتضيع المنتجات والطلبات ومواعيد الزيارات.

  2. 02

    يحتاج الدوران شاشات رئيسية وتنقلًا وبيانات مختلفة، مع مشاركة المحادثة والمواعيد والملف الشخصي وتسجيل الدخول، وبناء تطبيقين منفصلين كان سيضاعف الصيانة.

  3. 03

    يجب أن تظهر الرسائل والمواعيد لحظيًا على الهاتفين، مع عدّادات غير المقروء والإشعارات.

  4. 04

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

أبرز الميزات

للصيدليات

  • صفحة رئيسية تعرض المندوبين ومنشورات منتجاتهم، مع البحث.
  • دليل للمندوبين وملفاتهم، مع إمكانية الإبلاغ عن مندوب.
  • إنشاء طلبات بعنوان وتفاصيل الأدوية المطلوبة وحتى 5 صور، ومتابعتها في صفحة طلباتي.

للمندوبين الطبيين

  • نشر منتجات بعنوان ووصف وسعر وحتى 5 صور، وإدارتها من صفحة منشوراتي.
  • تصفّح الصيدليات والطلبات الواردة.
  • فتح تفاصيل الصيدلية وبدء محادثة معها.

مشترك ولحظي

  • محادثة فردية بالنص والصور، مع عدّادات غير المقروء وإشعارات القراءة.
  • يستطيع كل طرف حذف المحادثة من جهته فقط.
  • مواعيد زيارة تُرسل كرسائل بالتاريخ والوقت، وتظهر في تقويم التذكيرات لدى الطرفين، ويمكن لأي منهما إلغاؤها.
  • إشعارات FCM للرسائل والمواعيد الجديدة.

المنصة

  • اختيار الدور، ثم الدخول بحساب Google أو بالبريد وكلمة المرور، ثم تسجيل خاص بكل دور مع قوائم المدن والتحقق من تفرّد اسم المستخدم.
  • إعدادات عن بُعد في Firestore: حد أدنى للإصدار مع شاشة إجبار التحديث، ووضع الصيانة، وروابط المتاجر.
  • معالجة الحسابات المحذوفة، وسياسة الخصوصية والشروط داخل التطبيق، ودعم عبر WhatsApp للحسابات المعطّلة.

الميزة الأبرز

دوران، كود واحد، محادثة واحدة

  • عند أول تشغيل يختار المستخدم صيدلية أو مندوب. تحفظ UserRoleService هذا الاختيار وتُحدَّد منه كل المسارات اللاحقة، ولكل دور Bindings و Controllers وشريط تنقل خاص به في GetX.
  • ينشر المندوبون المنتجات وتنشر الصيدليات الطلبات، بحد أقصى 5 صور في Firebase Storage، ويرى كل طرف محتوى الآخر في صفحته الرئيسية.
  • يفتح أي طرف المحادثة، وتعيد createOrGetChat استخدام المحادثة الموجودة وتعيد تفعيلها إن كان أحد الطرفين قد حذفها.
  • موعد الزيارة رسالة من نوع خاص تُنشئ أيضًا مستند موعد يظهر في تذكيرات الطرفين، وإلغاؤه يُحدّث الجهتين لحظيًا.

اسحب للمزيد

ملاحظات هندسية

  1. 01

    شاشة بداية سريعة وتهيئة متوازية

    لا يبدأ قبل runApp إلا Firebase والكاش وبعض الخدمات الأساسية، ثم تعمل المصادقة والإعدادات والتهيئة بالتوازي مع حد أدنى قصير لشاشة البداية، وأي فشل لا يمنع الانتقال.

  2. 02

    توجيه حسب الدور

    يقرأ الدخول التلقائي مستخدم Firebase ويحمّل ملفه من pharmacies أو representatives ثم يوجّهه إلى الموديول المناسب. غياب الملف يعيده لاختيار الدور، والحساب المحذوف له شاشة مستقلة.

  3. 03

    مفاتيح تحكم عن بُعد

    تقارن AppConfigService الإصدار المثبّت بـ app_config في Firestore، ويمكنها عرض شاشة إجبار تحديث أو صيانة دون إصدار جديد.

  4. 04

    محادثة تصمد أمام الحذف

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

  5. 05

    المواعيد رسائل أساسية

    يُرسل الموعد عبر خدمة المحادثة ويُحفظ في مجموعة مستقلة، ويُزامَن مع شاشات التذكير لدى الطرفين عبر أداة تربط معرّفات Firestore بالتذكيرات المحلية.

  6. 06

    واجهة عربية أولًا

    يعمل التطبيق بالكامل RTL مع Locale('ar') وخط Cairo ورسائل تحقق عربية وقوائم المدن العراقية، والصفحات القانونية مبنية داخل التطبيق.

النتائج

  • تطبيق Flutter واحد يخدم دورين، الصيدليات والمندوبين الطبيين، مع محادثة ومواعيد لحظية مشتركة.
  • بلا خوادم بالكامل على Firebase (Auth و Firestore و Storage و FCM)، مع تحكم عن بُعد في إجبار التحديث والصيانة.
  • سُلِّم للعميل، ولا يوجد رابط متجر عام.

التقنيات

  • Flutter
  • Dart
  • GetX
  • Firebase Auth
  • Cloud Firestore
  • Firebase Storage
  • FCM
  • Google Sign-In
  • SharedPreferences
  • package_info_plus
  • Arabic RTL