GYW ← العودة إلى الاستوديو
نموذج أوّلي يعمل Laravel 12 + Flutterتطبيق Flutter للعميل والسائق

جيبلي — منصة توصيل
عند الطلب

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

العميلمنتج داخلي
السنة2026
الدورالتحليل والتصميم والبرمجة
الحالةنموذج أوّلي — الحلقة الأساسية تعمل
admin · demo data
لوحة إدارة جيبلي — قائمة الطلبات
0
نقطة اتصال في الواجهة البرمجية للتطبيق
0
موارد في لوحة الإدارة
0
حالات للطلب: من الانتظار إلى التسليم أو الإلغاء
0
فئتان للسائقين: تابع للشركة ومستقل
القصة

حلقة توصيل واضحة من طلب العميل إلى أرباح السائق

⊘ المشكلة

التوصيل عند الطلب يحتاج أكثر من تطبيق خرائط

من يطلب؟ من يقبل؟ أين السائق الآن؟ كم المسافة وكم السعر؟ وكيف يُحاسَب السائق والمنصّة؟ هذه أسئلة تحتاج نظاماً يربط العميل والسائق والإدارة في حلقة واحدة، لا مجموعة رسائل متفرقة.

✓ الحل

واجهة برمجية واحدة وتطبيق للسائق ولوحة للإدارة

خلفية Laravel 12 تقدّم 15 نقطة اتصال بمصادقة Sanctum، وتطبيق Flutter لدورَي العميل والسائق، ولوحة Filament للإدارة. المحفظة داخلية بسجل حركات: يُخصم رسم القبول عند قبول الطلب وتُضاف الأرباح عند التسليم.

ما يفعله

الحلقة الأساسية، كما هي مبنية

ما يعمل اليوم في النموذج الأوّلي.

📍

إنشاء طلب بنقطتين

استلام وتسليم بالموقع الحالي (GPS) أو بالعنوان، مع وزن الطرد.

📏

مسافة وسعر تلقائيان

المسافة عبر Google Distance Matrix عند توفّر المفتاح (وبقيمة تجريبية بدونه)، والسعر = المسافة × سعر الميل.

🛵

قبول السائق

قائمة بالطلبات المتاحة، ويُخصم رسم القبول من محفظة السائق مع حركة مدينة في السجل.

🧭

تتبّع الموقع

السائق يرسل موقعه ويُحفظ في سجل مواقع، والعميل يتابع طلبه وموقع سائقه بالتحديث الدوري.

✅

استلام وتسليم

تتبدّل حالة الطلب إلى «تم الاستلام» ثم «تم التسليم»، أو يُلغى، وتُضاف الأرباح عند التسليم.

💰

أرباح وإحصاءات

شاشة أرباح للسائق: الإجمالي والطلبات المكتملة والمسافة المقطوعة.

الحلقة

حياة طلب واحد

كما تظهر حالاته في لوحة الإدارة.

اللوحة

لوحة الإدارة

ستة موارد في لوحة Filament، وتعريب اللوحة بالعربية على خارطة الطريق.

📦 الطلبات

  • إنشاء وتعديل وحذف، مع شارة حالة وتصفية
  • العميل والسائق والمسافة والمبلغ الإجمالي
  • عناوين الاستلام والتسليم بإحداثياتها

👥 المستخدمون

  • أدوار: مدير، عميل، سائق تابع، سائق مستقل
  • رصيد المحفظة وتوفّر السائق
  • جدول أدوار قابل للتعديل

🗺️ التتبّع والتسعير

  • سجل مواقع السائقين
  • مناطق تسعير بسعر للميل
  • حركات المحفظة (خصم رسم القبول وإضافة الأرباح)
⏳ بصراحة

ما هو مصمَّم ولم يُفعَّل بعد

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

لقطات

من اللوحة وهي تعمل

بيانات تجريبية: 6 طلبات وأربعة حسابات. اضغط أي صورة لتكبيرها.

قائمة الطلبات بحالاتها
قائمة الطلبات بحالاتها
تفاصيل طلب: العميل والسائق وعنوان الاستلام
تفاصيل طلب: العميل والسائق وعنوان الاستلام
المستخدمون وأدوارهم ومحافظهم
المستخدمون وأدوارهم ومحافظهم
أرقام

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

الواجهة البرمجية15 نقطة اتصال، مصادقة Sanctum
لوحة الإدارة6 موارد (طلبات، مستخدمون، أدوار، مواقع، مناطق تسعير، حركات محفظة)
التطبيقFlutter (Dart 3.11) بدورَي العميل والسائق
الدفعمحفظة داخلية بسجل حركات — بلا بوابة دفع
الحالةنموذج أوّلي يعمل على الحلقة الأساسية
غير مفعَّل بعدتوثيق السائق · خريطة حيّة · إشعارات · أقرب سائق · شحن الرصيد
التقنية

بُني بـ

Laravel 12Filament 3SanctumMySQLFlutterProviderGeolocatorGoogle Distance Matrix

الخلفية واجهة برمجية واحدة تخدم التطبيق واللوحة، والتطبيق يبني فوقها بمزوّد حالة بسيط.

تريد منصة توصيل عند الطلب لمدينتك أو شركتك؟

نبني الحلقة كاملة — العميل والسائق والإدارة — ونضبط التسعير والمحفظة على نموذج عملك.

← كل الأعمالالمشروع التالي: خلاص — متجر الشحن والبطاقات الرقمية ←