تطبيق Credit Phone Qatar هو واجهة Flutter مخصّصة لمتجر WooCommerce، تُفعّل عند الإقلاع تكامل Firebase، وتحمّل آخر شاشة زارها المستخدم من التخزين المحلي، ثم تنشر بنية MultiProvider تجمع حالة المستخدم، السلة، واللغة في تطبيق واحد متعدد اللغات يدعم العربية والإنجليزية.
طبقة التهيئة والأمان
يعتمد التطبيق على AppConfig لإدارة مفاتيح WooCommerce من خلال ملفات .env أو معاملات --dart-define، ويولّد رؤوس HTTP وتراكيب عناوين مؤمنة لجميع الطلبات REST المتجهة إلى /wp-json/wc/v3. كما يحافظ على عنوان تسجيل الدخول بـ JWT لاستخدامه أثناء المصادقة.
الخدمات والتكاملات الخلفية
خدمة WooCommerce: توفّر ApiService عمليات جلب المنتجات والتصنيفات مع دعم التصفية اللغوية والسعرية، وتحميل المنتجات بالمعرّفات، وإنشاء الطلبات، وإدارة حالة المستخدم (تعديل البيانات، إلغاء الطلب، حذف الحساب)، بالإضافة إلى مزامنة رموز FCM مع واجهة WordPress المخصصة للإشعارات.
خدمة المصادقة: تستخدم AuthService نقطة JWT لتسجيل الدخول، وتستكمل أي معرف عميل مفقود بالبحث عبر REST، كما تفعّل تسجيل المستخدمين الجدد من خلال نقطة WooCommerce /customers وتحدّث رمز FCM بعد نجاح تسجيل الدخول.
الإشعارات الفورية وإدارة الجلسات
NotificationService تربط Firebase Cloud Messaging بالإشعارات المحلية، وتتعامل مع الرسائل في الأمام والخلف، مع حفظ التنبيهات غير المقروءة في SharedPreferences. عند تسجيل الخروج تُلغى الاشتراكات، يُحذف الرمز، ويُبلّغ الخادم لإلغاء ربط الجهاز بحساب المستخدم.
تجربة المستخدم وواجهة Flutter
الشاشة الرئيسية MainScreen تبني تنقلًا عبر PageView وأربع تبويبات (الرئيسية، التقسيط، السلة، الحساب) مع Drawer تفاعلي يعرض روابط إلى الأقسام الإضافية مثل الطلبات، الإعدادات، الأسئلة الشائعة ومتجر التقسيط، كما تعيد توجيه المستخدمين غير المسجلين إلى شاشة الدخول قبل عرض الطلبات.
إدارة اللغة وتخصيص الجلسة
LocaleProvider تحفظ اختيار اللغة في SharedPreferences وتعيد تحميله عند بدء التطبيق، ما يسمح بالتحول الفوري بين الواجهتين العربية والإنجليزية، بينما يخزن مراقب المسارات آخر Route ليلتقطها التطبيق عند التشغيل التالي.