موديول حساب المستخدم (User Profile) باستخدام Flutter + GetX + Firebase

تفاصيل العمل

قمت بتطوير موديول User Profile لتطبيق Flutter باستخدام GetX وFirebase، مع الالتزام بنمط MVVM + Clean Architecture. يعرض هذا الموديول المهارات في تنظيم الكود، بناء مكونات UI قابلة لإعادة الاستخدام، والتكامل الكامل مع Firebase.

الشاشات التي تم تنفيذها:

شاشة البروفايل (Profile Screen):

تعرض صورة واسم وإيميل المستخدم.

زرين: تعديل الحساب (Edit Profile)، طلباتي (My Orders).

شاشة تعديل الحساب (Edit Profile):

يمكن للمستخدم تعديل الاسم.

رفع صورة جديدة للبروفايل.

حفظ التعديلات مباشرة في Firestore، ورفع الصورة لـ Firebase Storage.

شاشة طلباتي (My Orders):

تعرض قائمة الطلبات السابقة للمستخدم.

يتم جلب البيانات من Firestore بشكل مباشر.

? المعمارية (MVVM + Clean Architecture):

يتم تقسيم الكود تنظيميًا إلى:

bash

Copy

Edit

lib/

├── core/

│ ├── constants/ # الألوان، المقاسات، الأنماط

│ ├── widgets/ # الأزرار والحقول المعاد استخدامها

├── data/

│ ├── models/ # UserModel، OrderModel

│ ├── services/ # FirebaseServices

├── modules/

│ ├── profile/

│ │ ├── views/

│ │ ├── controllers/

│ │ ├── viewmodels/

│ │ └── bindings/

│ └── orders/

│ ├── views/

│ ├── controllers/

│ └── bindings/

└── main.dart

التقنيات المستخدمة:

Flutter

GetX (Routing, State Management, Bindings)

Firebase:

Firestore (تخزين بيانات المستخدم والطلبات)

Firebase Storage (رفع صور المستخدم)

Firebase Auth (للحصول على بيانات المستخدم الحالي)

المميزات التقنية:

إدارة الحالة باستخدام GetX Controllers

? استخدام Widgets قابلة لإعادة الاستخدام (أزرار، حقول، AppBars)

? تقسيم واضح للمهام (Views - ViewModels - Controllers)

تصميم متناسق باستخدام constants مركزية

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
5
تاريخ الإضافة
تاريخ الإنجاز