منصة للطلب المسبق والاستلام
برق
برق سوق إلكتروني للطلب المسبق في رأس الخيمة: يطلب العملاء من المقاهي والمطاعم والمخابز ومحلات الورد والسوبرماركت، ثم يستلمون من الكاونتر أو من السيارة. توليت قيادة المنتج والتطوير في Admix Lab: واجهة API واحدة تخدم تطبيق العملاء ولوحة المتجر وموقعًا إلكترونيًا يضم لوحة الإدارة، وتطبيق نقطة بيع لجهاز Sunmi المحمول صُمم لطباعة ستيكرات مخصصة. النسخة الأولى مكتملة ولم تُطلق بعد.
- العميل
- برق تكنولوجيز م.م.ح.
- السنة
- 2026
- الدور
- مسؤول المنتج والتطوير، Admix Lab
- الحالة
- مكتمل، قبل الإطلاق
- المنصّات
- تطبيق العملاء، لوحة المتجر، نقطة بيع Sunmi، الموقع



العملاء. يجد العميل متجرًا قريبًا، فيطلب مسبقًا ويضيف ستيكرًا، ثم يستلم من الكاونتر أو من سيارته، على iOS وAndroid. المتاجر والتقييمات في الصور بيانات تجريبية.
- تطبيق العملاء ولوحة المتجر ونقطة البيع والموقع ولوحة الإدارة على واجهة API واحدة، مع تحديث فوري للطلبات
- 126 مسارًا في واجهة REST، و35 نموذجًا للبيانات
- وحدة Kotlin خاصة من 11 دالة أصلية لطابعة Sunmi: الستيكرات والإيصالات ورموز QR
- تطابق كامل بين العربية والإنجليزية يضمنه اختبار آلي: 1,220 مفتاحًا بالإنجليزية و1,256 بالعربية (الزيادة صيغ المثنى والجمع)
التحدي
أراد برق أن يمنح المقاهي والمخابز ومحلات الورد والبقالات في أحياء رأس الخيمة قناة طلبات تقوم على الاستلام. وعرضه للمتاجر مختصر: «بدون مندوبي توصيل، وبدون عمولة 30٪، وبدون كومة أجهزة لوحية».
وكان المطلوب منتجًا واحدًا يمتد من هاتف العميل إلى لوحة المتجر وأجهزة الكاونتر، بالعربية والإنجليزية، مع تسعير دقيق شامل لضريبة القيمة المضافة، وبرنامج ولاء لكل متجر، وفكرة تبقى في الذاكرة: ستيكر يحمل رسالة العميل ويُطبع على الكاونتر.
النهج
صممت برق مستودعًا موحدًا بلغة TypeScript يقوم على واجهة API واحدة: Hono وPrisma على PostgreSQL، مع 126 مسارًا في واجهة REST، وقناة WebSocket تتحقق من الصلاحية عند كل اشتراك وتنقل تحديثات الطلبات فورًا. وعلى هذه الواجهة بنيت مع فريق Admix Lab تطبيق العملاء على Expo، ولوحة المتجر على Expo للمتصفح وiPad والهاتف، وتطبيق نقطة البيع على Android، وموقعًا على Next.js 16 يضم لوحة الإدارة، ثم راجعنا كل شاشة على حدة بالوضعين الفاتح والداكن وبالعربية في جولتين موثقتين لمراجعة التصميم.
تُحفظ المبالغ بالفلس أعدادًا صحيحة، والأسعار شاملة لضريبة القيمة المضافة، وقواعد التسعير كلها في حزمة مشتركة واحدة. ويعيد الخادم حساب سعر كل طلب لحظة تقديمه، ويرفض أي مجموع لم يعد مطابقًا. ويُحدد المتجر من عضوية المستخدم أو رمز جهاز نقطة البيع، ولا يؤخذ أبدًا من محتوى استدعاء الواجهة، وتغطي اختبارات الواجهة هذا العزل بين المتاجر. ويجري الدفع الإلكتروني عبر صفحة الدفع المستضافة لدى Ziina، مع التحقق من توقيع إشعاراتها عبر HMAC. وينشئ الخادم رموز الدخول ويتحقق منها بنفسه، ويرسلها برسائل SMS عبر Twilio Programmable Messaging، مع مزود يعرض الرموز في سجل الخادم أثناء التطوير.
ينشئ الخادم كل ستيكر صورة بالأبيض والأسود بمقاس لفة الملصقات في المتجر، ويحول الإيصال العربي إلى صورة أيضًا، بينما يُطبع الإيصال الإنجليزي نصًا، وكل ذلك عبر وحدة Kotlin من 11 دالة أصلية تتعامل مع حزمة SDK الخاصة بطابعة Sunmi. ويكتب Claude مسودات الأوصاف والترجمات واقتراحات الأسعار في قائمة مراجعة، فلا يُنشر شيء قبل موافقة المتجر.
الأثر
النسخة الأولى مكتملة ولم تُطلق بعد: بُنيت بين 7 و16 سبتمبر 2026، ولم تُنشر بعد على الخوادم ولا في App Store أو Google Play.
في هذه النسخة يتصفح العميل ويخصص طلبه ويضيف ستيكرًا، ويدفع إلكترونيًا أو عند الاستلام، ويستلم من سيارته إن شاء، ويجمع النقاط والطوابع. ويدير المتجر الطلبات والقائمة والعروض والتقارير من المتصفح أو الهاتف. ويقبل موظفو الكاونتر الطلبات على نقطة البيع ويطبعون ستيكراتها وإيصالاتها ثم يسلمونها، فيما تعتمد إدارة المنصة المتاجر وتدير تصاميم الستيكر والحملات.
ملف APK لتطبيق نقطة البيع على Android جاهز، والخطوة التالية في خطة العمل اختبار على جهاز Sunmi V3 فعلي لضبط المسافات بين الملصقات وكثافة الطباعة وعرض الإيصال العربي.
العملاء
تطبيق العملاء
يجد العميل متجرًا قريبًا، فيطلب مسبقًا ويضيف ستيكرًا، ثم يستلم من الكاونتر أو من سيارته، على iOS وAndroid. المتاجر والتقييمات في الصور بيانات تجريبية.
- ترتيب المتاجر القريبة حسب المسافة، مع الفئات والبحث والمفضلة
- استوديو الستيكر: اختيار واحد من 16 تصميمًا، أو كتابة اسم، أو رفع صورة
- استلام من المتجر أو من السيارة، فورًا أو في موعد محدد، والدفع بالبطاقة أو Apple Pay عبر صفحة دفع Ziina، أو عند الاستلام
- تتبع مباشر للطلب، ونقاط ولاء بأربعة مستويات، وبطاقة طوابع لكل متجر


أصحاب المتاجر وموظفوها
لوحة المتجر
تطبيق Expo واحد للمتصفح وiPad والهاتف، يدير منه أصحاب المتاجر وموظفوهم الطلبات الحية والقائمة والستيكرات والعملاء والتقارير. المتجر والطلبات في الصور تجريبية.
- لوحة طلبات حية مع القبول أو الرفض، ومؤقتات التأخير، وحالة الطباعة والدفع
- قائمة بأقسام ومجموعات خيارات ومفاتيح للتوفر، ومحرر أصناف باللغتين
- العملاء، والتقييمات والرد عليها، وأكواد الخصم، وقواعد بطاقات الطوابع، وتقارير المبيعات
- استوديو الذكاء المبني على Claude لكتابة الأوصاف والترجمة واقتراح الأسعار واستيراد القوائم، ولا يُنشر شيء منه قبل المراجعة


موظفو الكاونتر
نقطة بيع Sunmi
تطبيق Android لجهاز Sunmi المحمول، يقبل فيه الموظفون الطلبات، ويطبعون ستيكرًا مخصصًا للكوب أو الباقة أو الكيس، ويسجلون الطلبات المباشرة. الصور ملتقطة على محاكي Android لمتجر تجريبي، لذلك لا توجد طابعة متصلة.
- قائمة طلبات حية مرتبة حسب المرحلة، مع تنبيه صوتي للطلب الجديد ومؤقتات للتأخير
- زر «قبول وتحضير» يطبع ستيكرات الطلب، والتسليم يطبع الإيصال
- طلبات مباشرة تُدفع نقدًا أو بالبطاقة، مع مسح كود العميل في برق لإضافة النقاط إلى حسابه
- وصول طلبات الاستلام من السيارة مع بيانات السيارة ورقم اللوحة والوقت المتوقع للوصول
العملاء والمتاجر وإدارة المنصة
الموقع
موقع على Next.js بالعربية والإنجليزية يشرح الاستلام والستيكرات والمكافآت، ويستقبل طلبات انضمام المتاجر، ويضم لوحة إدارة المنصة. لم يُنشر الموقع بعد، ولا تقود شارتا App Store وGoogle Play فيه إلى صفحات منشورة، ومعاينة التطبيق تعرض متجرًا تجريبيًا.
- صفحة رئيسية، ومعرض للستيكرات، وصفحة «للمتاجر» مع نموذج لطلب الانضمام
- صفحات عامة للمتاجر وروابط طلبات قابلة للمشاركة، مع إعداد مبدئي لفتحها في التطبيق عند الإطلاق
- صفحات لنتيجة الدفع، وسياسة الخصوصية، والشروط والأحكام، وحذف الحساب بعد تأكيده برمز يُستخدم مرة واحدة
- لوحة الإدارة: طلبات انضمام المتاجر، والطلبات، والعملاء، وتصاميم الستيكر، وحملات الشاشة الرئيسية، وإعدادات المنصة


التقنيات
- TypeScript
- Expo SDK 57
- React Native 0.86
- Next.js 16
- Hono
- Prisma
- PostgreSQL
- WebSockets
- Kotlin
- Tailwind CSS 4
- Turborepo
- Vitest
التكاملات
- Ziina hosted checkout
- Anthropic Claude
- Twilio Programmable Messaging
- Sunmi printer SDK
- Expo push notifications
- EAS Build