تفاصيل العمل
تطبيق ويب بالعربية والإنجليزية لمطعم بيتزا في النجف، يُثبَّت على الهاتف كتطبيق للطلب بالتوصيل أو الاستلام من الفرع، مع لوحة إدارة للمطعم وصفحة للمندوب.
التقنيات المستخدمة:
- الواجهة: HTML وCSS وJavaScript دون إطار عمل، تُثبَّت على الهاتف كتطبيق (PWA) وتعمل بعامل خدمة (Service Worker).
- الخادم: JavaScript على Cloudflare Workers بإطار Hono.
- قاعدة البيانات: Cloudflare D1 (SQL)، وصور الأصناف في Cloudflare KV.
- الخرائط: مكتبة Leaflet مع خرائط OpenStreetMap، وخدمة Nominatim لتحويل الموقع إلى عنوان والبحث عن الأماكن، وخدمة OSRM لحساب مسار الطريق والوقت المتوقع.
- الإشعارات: Web Push بمعيار VAPID، مبنية على واجهة Web Crypto دون مكتبات خارجية.
المميزات:
- أربعة أحجام للبيتزا في بطاقات فيها رسم للبيتزا يكبر مع الحجم، وإضافات بفرق سعر، وملاحظة للمطبخ.
- تتبّع الطلب بحالاته وموقع المندوب على الخريطة مع المسافة والوقت المتوقع، وإشعار عند كل تغيير وعند اقتراب المندوب، ثم تقييم الطعام والمندوب.
- تحديد العنوان بالموقع الحالي أو بدبوس على الخريطة أو بالبحث بالاسم، وحفظه باسم مثل «المنزل» أو «العمل».
- صفحة للمندوب: يشارك موقعه ويفتح الملاحة إلى الزبون، ولا يُسجَّل التسليم إلا بآخر أربعة أرقام من هاتف الزبون.
- إدخال طلبات إنستغرام وفيسبوك وتيك توك وواتساب والهاتف من اللوحة مع مصدر كل طلب، وإرسال رابط التتبّع للزبون على واتساب.
- لوحة للمطبخ: تنبيه صوتي وإشعار عند كل طلب جديد، زر للمرحلة التالية، طباعة الإيصال، وإيقاف استقبال الطلبات عند الازدحام.
- إدارة القائمة: إضافة صنف بصورة من كاميرا الهاتف، تعديل الأحجام والإضافات، وجعل الصنف «غير متوفر» بضغطة.
- رسوم توصيل حسب المنطقة أو المسافة، ورسوم إضافية في أوقات الذروة، وكوبونات خصم، وكشف شهري يُصدَّر إلى Excel.