تطوير واستكمال تطبيق موبايل (مدير/سائق/عميل) بـ React Native + Supabase
نظرة عامة
لدينا تطبيق مبني بـ React Native (Expo + Expo Router) مع Supabase (Auth + Postgres + Storage + Realtime).
التطبيق يخدم 3 أدوار: مدير، سائق، عميل. جزء كبير من العمل منجز، ونحتاج مطور خبير لإكمال الميزات المتبقية وتحسين الاستقرار والتصميم.
التقنية المستخدمة
•Frontend: React Native (Expo, Expo Router), TypeScript
•Backend: Supabase (Auth, Postgres, RLS, Storage, Realtime, RPC)
•خرائط: react-native-maps + Expo Location
•إدارة الحالة البسيطة داخل الشاشات (useState/useEffect)
الوضع الحالي (ملخص)
•المدير (Admin)
•لوحة رئيسية + إحصاءات.
•المخزون: عرض صور من Storage وربطها بالمنتجات، إضافة كميات واردة وتحديث الأسعار (مع RPC adjust_stock_by_sku).
•الموظفون: عرض السائقين/المديرين وتسجيل إجازات.
•تتبّع السائقين: خريطة تعرض كل السائقين (Realtime) + عنوان تلقائي + أزرار اتصال/تنقّل.
•المدفوعات: تم إنشاء جدول customer_payments وباكت payments وعرض customer_ledger (كشف حساب).
•السائق (Driver)
•شاشة رئيسية وأزرار: طلبات اليوم، حركات مرتجع، تسجيل دفعة من عميل.
•ربط شاشة “تسجيل دفعة” قائم (اختيار عميل/طريقة دفع/مبلغ/صورة إثبات).
•العميل (Customer)
•سلة + عناوين + إنشاء طلب مع فحص مخزون قبل التأكيد.
المطلوب إنجازه (نطاق العمل)
1.طلبات السائق – اليوم
•صفحة الطلبات اليومية مع:
•زر Waze/Maps لعنوان العميل أعلى الشاشة.
•تفصيل أصناف كل طلب + تحديد () “تم التحميل” لكل صنف مع كمية محمّلة.
•زر “خرجت في الطريق” أسفل الصفحة لتحديث حالة الطلبات المختارة (مع إمكانية استثناء طلب غير مكتمل).
2.مرتجعات السائق إلى المستودع
•واجهة تشبه الكتالوج: اختيار صنف + كمية + سبب (return_by_driver)، وتوثيق الحركة في المخزون.
3.دمج أسعار العميل الخاصة
•عند إنشاء الطلب: استخدام customer_prices إن وجد وإلا default_price.
4.مدفوعات
•إكمال شاشة تسجيل الدفعة للسائق (رفع صورة إلى Bucket payments، وإدراج في customer_payments مع RLS).
•شاشة مدير لعرض/بحث المدفوعات وربطها بكشف الحساب.
5.تحسينات عامة
•معالجة موثوقة لبيئة .env وتثبيت تسجيل الدخول (تشخيصات بسيطة مضافة).
•تحسينات UI/UX (أزرار، ألوان موحّدة، RTL).
•إصلاحات تنقّل داخل Expo Router عند الحاجة.
قاعدة البيانات (المهم)
•جداول رئيسية: profiles, customers, customer_users, addresses, products, orders, order_items, customer_prices, employee_leaves, drivers, driver_locations, customer_payments.
•Storage: product-images, driver/location-pin.png, payments/*.
•RLS مفعّل على customer_payments (المُدير كامل الصلاحيات؛ السائق يرى/يدرج ما سجّله بنفسه).
•VIEW: customer_ledger يجمع الديون (الطلبات) والمدفوعات (كسالب).
مخرجات متوقعة
•شاشات السائق المطلوبة تعمل بالكامل (طلبات اليوم، مرتجعات، تسجيل الدفعة).
•دمج أسعار العميل الخاصة في تدفق إنشاء الطلب.
•شاشة مدير للمدفوعات وارتباطها بكشف الحساب.
•توثيق مختصر: تعليمات تشغيل محلية، المتغيرات، وخريطة الجداول المستخدمة.
•كود نظيف (TypeScript، تعليق مختصر)، والالتزام بالأنماط الحالية.
معيار القبول
•تسجيل الدخول يعمل بثبات مع .env صحيحة.
•تدفق “طلبات اليوم” واختيار الأصناف المحمّلة وتحديث الحالة يعمل بلا أخطاء.
•رفع صورة إثبات الدفع إلى باكت payments وحفظ السجل في customer_payments.
•عرض كشف حساب العميل يجمع الطلبات والمدفوعات بدقة.
•لا تحذيرات أو أخطاء حمراء عند الاستخدام الأساسي.
الوصول المتاح
•مستودع الكود الحالي (Expo).
•مشروع Supabase جاهز (URL + ANON KEY + صلاحيات).
•أمثلة بيانات (عملاء/عناوين/منتجات/سائقين).
تفضيلات المستقل
•خبرة مثبتة في React Native (Expo) و Supabase (RLS/Storage/Realtime).
•تعامل سابق مع خرائط وتتبّع مواقع.
•اهتمام بجودة الواجهة وRTL.
مدة التنفيذ والميزانية
•يُقترح تقسيم العمل إلى مراحل أسبوعية مع تسليمات واضحة.
•الميزانية والمدة: اذكر عرضك الزمني والمالي لكل مرحلة.
أسئلة للمستقل (إلزامية مع العرض)
1.أمثلة لمشاريع Expo/Supabase أنجزتها (روابط/صور).
2.كيف ستنفّذ “خرجت في الطريق” وتتبّع حالة الطلبات؟
3.كيف ستتأكد من أمن رفع الصور إلى Bucket payments (سياسات Storage/RLS)؟
4.اقتراحك لاختبارات قبول سريعة قبل التسليم.
أهلا بك، أنا مطور تطبيقات React Native بخبرة عملية تتجاوز 3 سنوات، ولدي خبرة في بناء تطبيقات الهواتف عالية الأداء والمسؤولة عن إدارة دورة حياة التطبيق بالكامل م...
السلام عليكم، عرضكم واضح ومحدد. نحن في iSoft نمتلك الخبرة الكاملة في React Native Supabase ولدينا استعداد تام لتنفيذ المشروع بالكامل وفق المتطلبات. بخصوص نطاق ا...
مرحبا، أنا حسين، مطور تطبيقات React Native (Expo) مع خبرة ٥ سنوات في البرمجة و خبرة عملية في بناء تطبيقات متكاملة تعتمد على Supabase (Auth, Postgres, RLS, Stora...
السلام عليكم، مرحبا ماجد، أنا يوسف مبرمج تطبيقات أندرويد و iOS بخبرة تزيد عن 4 سنوات، عملت خلالها على العديد من المشاريع بإستخدام Supabase بإمكانك الإطلاع عليها...