نظرة عامة على المشروع
منصة مترابطة مبنية حول احتياجات التشغيل الفعلية.
IMFlow360 منصة نقاط بيع متعددة المستأجرين والقطاعات. توحد سحابة Laravel بيانات المستأجرين والفوترة والمخزون والمحاسبة عبر إدارة Livewire وواجهة أجهزة، بينما يعمل تطبيق Flutter محلياً ويزامن العمليات على دفعات. وتعرض شاشة عميل Flutter ملخص الطلب وتجمع الإكرامية والتقييم. يخدم مخطط واحد التجزئة والمطاعم والتجميل والخدمات بالمواعيد، بسلوك محدد لكل مستأجر بدلاً من نسخ منفصلة لكل قطاع.
01التحدي
كان على المنتج معالجة مشكلات تشغيلية مترابطة.
تختلف احتياجات نقاط البيع بين المتاجر والمطاعم والصالونات، بينما يحتاج مشغل الفروع إلى منصة وحساب وتقارير موحدة. كما يجب أن تعمل أجهزة الاستقبال دون اتصال دائم، وأن تتشارك عدة أجهزة الطلبات الجارية في الفرع.
02النهج التقني
نهج تقني مدروس شكّل النظام.
تحتفظ سحابة Laravel بالبيانات المرجعية مع عزل الصفوف بحسب النشاط والفرع، وتحدد business_type اختلاف القوائم والطلبات. تمر المواعيد بـ11 حالة مع ترتيب دفع قابل للتهيئة، ولا تُغلق قبل حسم الدفع والإكرامية والتقييم. تُزامن العمليات عبر نقطة دفعات واحدة ومعرّفات UUID من العميل. يحتفظ Flutter ببيانات بدء التشغيل محلياً ويُجدول العمليات في صندوق إرسال. وتتعاون أجهزة الفرع عبر الشبكة المحلية بانتخاب مضيف حتمي ونبضة كل ثانيتين ومهلة ست ثوانٍ وضبط تزامن متفائل للطلب كاملاً، مع انتقال تلقائي عند تعطل المضيف. وتتصل شاشة العميل عبر WebSocket محلي بعقد رسائل محدد الأنواع.