1️⃣ شاشة تسجيل الدخول (Login Screen)
فيها حقول: البريد الإلكتروني / كلمة المرور.
زر لتسجيل الدخول.
رابط للانتقال لشاشة إنشاء حساب.
تحقق من صحة البيانات (Validation).
إرسال البيانات لـ Firebase Auth أو API خاص بالباك اند.
2️⃣ شاشة إنشاء حساب (Sign Up Screen)
فيها حقول: الاسم – البريد الإلكتروني – كلمة المرور – تأكيد كلمة المرور.
زر لإنشاء الحساب.
بعد نجاح التسجيل → ينتقل المستخدم للـ Home Screen.
3️⃣ شاشة رئيسية (Home Screen)
المستخدم يدخلها فقط لو هو مسجل دخول.
بيظهر فيها زر لتسجيل الخروج (Logout).
4️⃣ إدارة حالة المستخدم (Auth State Management)
عند فتح التطبيق:
لو المستخدم مسجل دخول بالفعل → يروح مباشرة للـ Home Screen.
لو مش مسجل → يروح للـ Login Screen.
هنا ممكن تستخدم:
StreamBuilder مع Firebase Auth.
أو Provider / Riverpod / Bloc لإدارة الحالة.
5️⃣ تسجيل الخروج (Logout)
زرار بسيط بيعمل FirebaseAuth.instance.signOut() (أو API backend).
بعد تسجيل الخروج → يرجع لشاشة تسجيل الدخول.
الـ Flow (التسلسل):
يفتح التطبيق → يتحقق من حالة المستخدم.
لو فيه user logged in → يروح لـ Home.
لو مفيش → يروح لـ Login.
من Login يقدر يعمل:
تسجيل دخول → Home.
إنشاء حساب جديد → Sign Up → Home.
من Home يقدر يعمل Logout → Login.