Angular Routes · NgRx Stores · Folder Structure · للفريق التقني
٤٧ مسار رئيسي + Lazy Modules + Guards
٤ guards لحماية المسارات والتحقق من الصلاحيات
يتحقق من وجود JWT صالح. يحوّل لـ /auth/login لو غير مصادق.
يتحقق من دور المستخدم (RBAC). يأخذ array من الأدوار المسموحة.
يحذّر المستخدم من فقدان البيانات قبل ترك صفحة بها form غير محفوظ.
يحمّل البيانات قبل دخول الصفحة (resolve guard).
١٢ Store · Actions · Reducers · Effects · Selectors
Feature-based architecture · Scalable · Testable
٥ interceptors لكل الطلبات
يضيف JWT token لكل طلب · يحدّث الـ token عند انتهائه (refresh).
يلتقط كل الأخطاء · يعرض toast · يحوّل لـ /login عند 401 · /403 عند Forbidden.
يفعّل loading indicator تلقائياً مع كل طلب.
يحفظ نتائج الـ GET requests للموارد الثابتة (countries · departments).
يضيف Accept-Language: ar أو en لكل طلب حسب اللغة المختارة.
٨ خدمات Singleton أساسية