تطبيق "أمل" يربط النازحين وذوي الإعاقة البصرية بمراكز الدعم
والخدمات القريبة منهم، ويمكن استخدامه بالكامل دون النظر إلى
الشاشة. منشور على App Store و Google Play.
التحدي:
مستخدمون لا يستطيعون رؤية الشاشة، ويحتاجون رغم ذلك إلى إيجاد
الخدمات، وتقديم طلبات الدعم، ورفع البلاغات — بالعربية أو
الإنجليزية، وغالبًا على أجهزة متواضعة وشبكة ضعيفة.
ما بنيته كمطوّرة Flutter في المشروع:
نظام تحكم صوتي ثنائي اللغة
محرك أوامر يغطي التطبيق بالكامل: التنقل بين الشاشات، تغيير الثيم،
حجم الخط، المصادقة، وتعبئة النماذج — كلها بالصوت. يعالج صيغًا
متعددة للأمر الواحد ويتجاهل التشكيل العربي لرفع دقة التعرّف.
بُني باستخدام speech_to_text و flutter_tts.
طبقة وصولية (Accessibility) مخصصة
أربعة أوضاع عرض: عادي، تباين عالٍ، داكن، وأزرق ناعم — مع تحكم
مستقل في حجم الخط وحفظ الإعدادات، وآلية موحّدة لقراءة محتوى أي
شاشة صوتيًا.
خريطة خدمات تفاعلية
دمج Google Maps مع علامات مصنّفة، بحث نصي، فلترة بالفئات، تحديد
الموقع الحالي، وقراءة صوتية لأقرب المراكز.
المعمارية وهندسة الكود
Clean Architecture بفصل صارم بين طبقات data / domain / presentation
موزّعة على ٧ ميزات مستقلة. إدارة الحالة بـ Riverpod، والشبكات
بـ Dio مع Interceptors، ونمذجة البيانات بـ dart_mappable.
المصادقة والواجهات المتجاوبة
مصادقة متعددة القنوات: OTP عبر SMS، Google Sign-In، Apple Sign-In،
ووضع الضيف للدخول الفوري في الحالات الطارئة، مع تخزين آمن
للتوكنات. واجهات متجاوبة لمختلف أحجام الأجهزة عبر flutter_screenutil.
البنية الإنتاجية
ربط خدمات Firebase: Messaging، Remote Config، Crashlytics،
Analytics. إشعارات محلية، ونظام تحديث إجباري ومقترح يُدار عن بُعد.
التقنيات:
Flutter · Dart · Riverpod · Clean Architecture · Dio · Google Maps ·
Firebase · speech_to_text · flutter_tts · dart_mappable ·
flutter_hooks · دعم كامل للعربية والإنجليزية مع RTL