GYW ← العودة إلى الاستوديو
تطبيق سطح مكتب يعمل بلا إنترنت المرحلة الأولى 1.0.0

تمقاد — نقطة بيع للمقاهي
تعمل بلا إنترنت

نقطة بيع تُثبَّت على جهاز الكاشير وتعمل ولو انقطعت الشبكة. الكاشير يلمس صور المنتجات فتتجمّع في الطلب الحالي، يختار زبوناً أو يتركه عابراً، يحدّد مدفوعاً أو غير مدفوع وطريقة الدفع، ويُتمّ البيع. وصاحب المقهى يرى من لوحته مبيعات اليوم والطلبات غير المدفوعة والمخزون المنخفض — كل ذلك في ملف واحد على الجهاز نفسه، بالعربية أو الفرنسية.

العميلمنتج للمقاهي
السنة2026
الدورالتصميم والبرمجة والتغليف
الحالةالمرحلة الأولى جاهزة
Timgad — نافذة التطبيق 1280×800
0
اتصال بالإنترنت مطلوب للبيع
0
اختباراً آلياً، تعمل على قاعدة في الذاكرة ولا تلمس بيانات المقهى
0
لغتان: العربية والفرنسية، تُبدَّل من الإعدادات
0
حزم تثبيت: ويندوز setup · لينكس AppImage · deb
القصة

مقهى واحد، جهاز واحد، ولا شبكة تُعتمد عليها

⊘ المشكلة

أنظمة البيع السحابية تتوقف حين يتوقف الإنترنت

مقهى يبيع عشرات الطلبات في الساعة، ومعظمها بالقطعة الصغيرة: قهوة، شاي، حلوى. أي نظام يحتاج الشبكة ليبيع يتعطّل في أسوأ وقت، والطلبات «على الحساب» تُكتب على ورق، والمخزون يُعرف نفاده من الرفّ لا من النظام.

✓ الحل

تطبيق مكتب كامل على جهاز الكاشير

قاعدة بيانات SQLite في ملف واحد على الجهاز، وتطبيق مغلَّف بـ NativePHP يفتح نافذة البيع مباشرة. البيع لا يتجاوز المخزون أبداً، الطلب غير المدفوع يبقى مفتوحاً حتى «تسجيل الدفع»، ولوحة المالك تقرأ من الملف نفسه بلا مزامنة ولا انتظار.

البنية جاهزة للمزامنة لاحقاً: لكل سجل معرّف فريد وطوابع زمنية.

شاشة البيع

بيع باللمس في ثوانٍ

الشاشة التي يراها الكاشير: صور أولاً، وكل ما يحتاجه في نافذة واحدة.

🖼️

شبكة منتجات بالصور

أربعة أعمدة من صور المنتجات، وشرائح فئات (قهوة ساخنة، مشروبات باردة، شاي، حلويات) مع بحث حيّ «ابحث عن منتج…».

🏷️

شارات المخزون

«نفد المخزون» على المنتج المنتهي، والكمية المتبقية على المنتج القليل — ولا يقبل النظام بيعاً يتجاوز المخزون.

🧾

الطلب الحالي

أزرار − / الكمية / + لكل سطر، والإجمالي يتحدّث فوراً، وبعد البيع يظهر رقم الطلب ويفرغ الطلب للزبون التالي.

🧑

زبون عابر أو زبون باسمه

الافتراضي «زبون عابر»؛ ويمكن البحث بالاسم أو الهاتف وإضافة زبون من الشاشة نفسها.

🪑

في المكان أو خارجي

نوع الطلب بضغطة، و«مدفوع / غير مدفوع» بضغطة أخرى — فالطلب على الحساب لا يحتاج دفتراً.

💳

طريقة الدفع بشعارها

نقداً، مصرفي، بنكيلي، السداد، بيم بانك، Click — تطبيقات الدفع الموريتانية بشعاراتها، يفعّلها المالك ويرتّبها.

حيّ

من اللمسة الأولى إلى «إتمام البيع»

نموذج متحرّك لما يحدث على الشاشة وفي لوحة المالك في اللحظة نفسها.

لوحة المالك

إدارة المقهى من الجهاز نفسه

اللوحة بالعربية الكاملة، بثلاث مجموعات: القائمة، المبيعات، المقهى.

🗂️ القائمة

  • منتجات بصورة وسعر وحدّ تنبيه مخزون وتفعيل/إيقاف
  • فئات تُرتَّب بالسحب
  • طرق دفع بشعار، تُرتَّب وتُفعَّل أو تُعطَّل
  • المنتج الذي بيع، وطريقة الدفع التي قبضت مالاً، لا يُحذفان

🧾 المبيعات

  • سجل طلبات للقراءة فقط مع تصفية بالتاريخ والنوع والحالة وطريقة الدفع
  • «تسجيل الدفع» على الطلب غير المدفوع
  • زبائن بالاسم والهاتف
  • السعر يُنسخ إلى سطر الطلب داخل معاملة واحدة مع قفل وفحص للمخزون

📦 المخزون

  • تسجيل مشتريات يرفع المخزون تلقائياً
  • تصفية «مخزون منخفض»
  • البيع لا يتجاوز الكمية المتاحة أبداً
  • الوصفات والمكوّنات: المرحلة الثانية، لم تُبنَ بعد

📊 لوحة التحكم

  • مبيعات اليوم مع نسبة التغيّر عن الأمس
  • عدد الطلبات، الطلبات غير المدفوعة، المخزون المنخفض
  • أحدث الطلبات ومخطط «مبيعات هذا الأسبوع»
  • قائمة «تنبيه المخزون»

🌐 اللغات والإعدادات

  • العربية من اليمين إلى اليسار افتراضياً
  • الفرنسية تُختار من الإعدادات وتُطبَّق على التطبيق كله
  • اسم المقهى ورمز العملة (أوقية / MRU)
  • عمّال بدور وراتب، ومصاريف

💻 بلا إنترنت والتغليف

  • SQLite في ملف واحد، والتطبيق واللوحة يقرآن منه معاً
  • مغلَّف بـ NativePHP/Electron: نافذة 1280×800 تتذكّر حجمها ومكانها
  • يشحن نسخته الخاصة من PHP لتعمل العربية والأرقام بلا تثبيت إضافي
  • ويندوز setup.exe · لينكس AppImage و deb
⏳ لم يُبنَ بعد

بصراحة: ما تبقّى للمرحلة الثانية

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

لقطات

من التطبيق وهو يعمل

بيانات تجريبية مصفوفة: 19 منتجاً في 4 فئات، وأسبوع من الطلبات. اضغط أي صورة لتكبيرها.

شاشة البيع
شاشة البيع: الشبكة، الفئات، والطلب الحالي
لوحة التحكم
لوحة التحكم: مبيعات اليوم والمخطط الأسبوعي
المنتجات
المنتجات
الطلبات
سجل الطلبات مع التصفية
الزبائن
الزبائن
فيديو

بيعة كاملة في أقلّ من دقيقة

فئة، ثلاثة منتجات، زبون، طريقة دفع، إتمام البيع — ثم اللوحة وسجل الطلبات.

▶
أرقام

ما يمكن قوله بثقة

الإصدار1.0.0 — المرحلة الأولى، بُني في 2026-10-10
الاتصاللا إنترنت مطلوب؛ قاعدة SQLite في ملف واحد
اللغاتالعربية (افتراضية) والفرنسية
العملةأوقية / MRU، رمزها يُغيَّر من الإعدادات
طرق الدفع المصفوفة20 تطبيقاً موريتانياً، 6 مفعّلة
الاختبارات الآلية23 اختباراً على قاعدة في الذاكرة
التثبيتويندوز setup.exe · لينكس AppImage · deb
غير مبنيّ بعدوصفات · مزامنة · فروع · ترخيص · تقسيم الدفع · طباعة · أدوار
التقنية

بُني بـ

Laravel 11Livewire 3Filament 3TailwindAlpine.jsSQLite (WAL)NativePHPElectron 0.9PHPUnit

شاشة البيع Livewire واللوحة Filament، وكلاهما يقرأ ملف SQLite نفسه بوضع WAL. التطبيق يشحن نسخته من PHP مع دعم اللغات، فلا يعتمد على ما هو مثبّت على جهاز المقهى.

نقطة بيع لمقهاك أو مطعمك — تعمل ولو انقطع الإنترنت؟

نفصّلها على قائمتك وطرق دفعك ولغتك، ونثبّتها على جهاز الكاشير.

← كل الأعمالالمشروع التالي: الموثوق للتوصيل — تطبيق إدارة التوصيل ←