
دراسة حالة
نقاط بيع تعمل دون اتصال: صناديق تواصل البيع عند انقطاع الإنترنت
صمّمتُ منظومة نقاط بيع للمطاعم ومحلات التجزئة والبقالة تُبقي كل صندوق قادرًا على البيع أثناء انقطاع الإنترنت. يسجّل مركز محلي على شبكة المتجر كل عملية بيع ثم يزامنها مع السحابة فور عودة الاتصال، وتعمل القطاعات الثلاثة على قاعدة شيفرة واحدة. يستخدمها مشغّل واحد اليوم في بيئة الإنتاج.
المشكلة
تفترض معظم أنظمة نقاط البيع السحابية ضمنيًا وجود اتصال مستقر. في اللحظة التي ينقطع فيها الإنترنت يتوقف الصندوق عن قبول المدفوعات، أي أن المتجر يتوقف عمليًا عن البيع. في تونس ليست هذه حالة نادرة، بل أمر يتكرر في أي يوم عادي.
ولم تكن البدائل أفضل:
- الأنظمة المحلية بالكامل تواصل البيع دون اتصال، لكنها تترك صاحب عدة متاجر دون رؤية موحّدة للمبيعات والمخزون.
- المطاعم ومحلات التجزئة والبقالة تبيع بطرق مختلفة فعلًا. خدمة الطاولات والدفع بالباركود والمنتجات الموزونة تعني عادةً ثلاثة منتجات منفصلة أو ثلاث نسخ من الشيفرة نفسها.
- النسخ تتباعد مع الوقت. كل إصلاح يُكتب لقطاع ما يجب نقله يدويًا إلى القطاعات الأخرى، وعاجلًا أو آجلًا لا يُنقل.
المقاربة
بنيتُ المنظومة حول قاعدة واحدة: يجب ألا تعتمد أي عملية بيع على الذهاب والإياب إلى مركز بيانات.
مركز محلي بين الصناديق والسحابة
يعمل مركز مكتبي مبني بـ Electron على شبكة المتجر، بخادم وقاعدة بيانات SQLite مدمجين. تتواصل كل الصناديق مع هذا المركز، فيستمر البيع حتى عند غياب الإنترنت. وعند عودة الاتصال تُرسل المبيعات المحلية إلى PostgreSQL في السحابة، وتنزل تحديثات الكتالوج إلى المركز، مما يحافظ على الرؤية الموحّدة لكل المتاجر.
قاعدة شيفرة واحدة لثلاث طرق بيع
بدل تفريع المنتج لكل قطاع، صغتُ الفروق بين خدمة المطاعم والتجزئة العامة والبقالة على شكل إعدادات. تتشارك القطاعات الثلاثة كتالوجًا واحدًا ومحرك تسعير واحدًا وسجل مبيعات واحدًا، فلا تحتاج التقارير أبدًا إلى دمج مصادر غير متوافقة، ويصبح القطاع الجديد ملف إعدادات لا نسخة جديدة من الشيفرة.
عدة متاجر بحساب واحد
تعتمد المصادقة على Firebase مع صلاحيات مخصّصة تحمل هوية المستأجر ودوره. يدير صاحب عدة متاجر جميعها من الحساب نفسه، دون أن تنتقل أي بيانات بين مؤسسة وأخرى.
صندوق يُثبَّت كتطبيق
شاشة الصندوق تطبيق ويب تقدّمي مخزّن مؤقتًا للعمل دون اتصال، ويفتح كأنه تطبيق أصلي. تعمل الواجهة البرمجية السحابية على Cloud Run الذي يقلّص الموارد بين أوقات الذروة ويرفعها أثناء الخدمة.
النتيجة
تعمل المنظومة اليوم في بيئة الإنتاج لدى مشغّل واحد.
- البيع لا يتوقف بانقطاع الإنترنت: تواصل الصناديق العمل عبر المركز المحلي ثم تتم المطابقة تلقائيًا.
- رؤية موحّدة: تصل مبيعات كل متجر إلى قاعدة البيانات السحابية نفسها فور عودة الاتصال.
- منتج واحد للصيانة: يُنشر الإصلاح مرة واحدة ويصل إلى المطاعم والتجزئة والبقالة في الوقت نفسه.
- جاهزة للمشغّل التالي: استقبال مؤسسة جديدة يعني إنشاء مستأجر واختيار ملف قطاع، لا تركيب نظام آخر.
البنية التقنية مفصّلة في صفحة مشروع نقاط البيع متعددة القطاعات.
المكدس التقني
خدمات ذات صلة

منصات SaaS مخصصة، تطبيقات ويب وهواتف ذكية
أقوم ببناء منصات SaaS مخصصة باستخدام Next.js و Firebase، بالإضافة إلى تطبيقات ويب وآيفون وأندرويد من قاعدة برمجية واحدة. باقات MVP بسعر ثابت، يتم تسليمها في غضون 8 إلى 16 أسبوعاً.

إصلاح كود AI وإنقاذ التطبيقات المطورة عبر الـ Vibe
هل تعثرت في تطبيق تم إنشاؤه بواسطة Firebase Studio أو Lovable أو Cursor أو مساعد AI؟ أقوم بإصلاح البنية التحتية، وإغلاق الثغرات الأمنية، وإضافة مصادقة واختبارات حقيقية، وأقوم بنشره لك.