⚡ التحدي
الكاشير لا يمكنه انتظار الشبكة، والمطعم لا يحتمل دوران «فاتورة ضائعة». المطلوب: نقطة بيع تعمل على أي جهاز، تستمر عند انقطاع الاتصال، وتضمن عدم تكرار أي إيداع.
🛠️ الحل
منصة متعددة المستأجرين (Multi-Tenant): واجهة Flutter واحدة للأنظمة (ويب/هاتف/تابلت) + خلفية ASP.NET Core معيارية (Modular Monolith) + PostgreSQL سحابية مع SQLite محليًا، وقاعدة مزامنة بمعرف إيداع (Idempotency) تمنع تكرار الفاتورة.
📦 المزايا (موثقة من التنفيذ)
- سلّة بيع سريعة: صنف بباركود أو بحث، كمية/خصم/ضريبة/إجمالي، وإمساك فاتورة.
- مدفوعات مختلطة: نقدية، بطاقة، تحويل، محفظة، آجل — مع إيصال.
- مخزون لكل (مستأجر، فرع، صنف): حركات شراء/بيع/تسوية/تحويل/جرد/إرجاع مع تنبيهات انخفاض.
- مزامنة دون اتصال: طابور إعادة محاولة + Idempotency لمنع التكرار.
- عزل المستأجرين: مصادقة JWT وبيانات معزولة لكل مستأجر.
- تقارير: مبيعات يومية، أرباح، أفضل الأصناف، مخزون، ولوحة KPI.
💻 التقنيات
📈 القيمة للأعمال
يعمل الكاشير من أول يوم على أي جهاز، والبيانات لا تُفقد عند انقطاع الشبكة، والحسابات تصل إلى المحاسبة دون تكرار أو خلاف.