Car Rental App – Flutter Project (Clean Architecture & Cubit)
Project Overview:
تطبيق Car Rental شخصي مطور بـ Flutter باستخدام Clean Architecture وCubit (Bloc) لإدارة الحالة. يهدف المشروع لمحاكاة تجربة كاملة لتأجير السيارات مع التركيز على جودة البنية، إدارة الحالة، وبنية Features قابلة للتوسع.
Key Features:
تسجيل الدخول والمصادقة عبر البريد الإلكتروني وكلمة المرور
تدفق الموافقة على الحجز وربطه بمنطق التطبيق
تصفح السيارات المتاحة وعرض التفاصيل
طلب حجز وربطه بخاصية الموافقة
إمكانية أي مستخدم أن يصبح Host باستخدام حقل role في Firebase
Architecture Highlights:
Clean Architecture: Presentation → Domain → Data
هيكل Feature-based لكل ميزة بشكل مستقل
إدارة الحالة عبر Cubit
استخدام Repository Pattern وDependency Injection
تصميم قابل للتوسع وجاهز للاختبارات
Tech Stack:
Frontend: Flutter, Dart
State Management: Cubit (flutter_bloc), equatable
Backend: Firebase Authentication, Cloud Firestore
Maps & Location: geolocator, geocoding, flutter_map
Local Storage: hive, hive_flutter, flutter_secure_storage
Utilities: get_it, dartz, connectivity_plus, intl, http
Media & Permissions: image_picker, permission_handler
Developer Role:
مطور Flutter مستقل (Solo Developer)
تصميم وتنفيذ الهيكلية الكاملة
بناء جميع الميزات بشكل مستقل
إدارة الحالة، التنقل، وتدفق البيانات
تطبيق Clean Code و Patterns قابلة للتوسع
إضافة حزم Unit Testing مثل hive_test، firebase_test و mockito