نبذة عن المشروع:
FitTrackr هو نموذج أولي لتطبيق متعدد المنصات لمتابعة الصحة واللياقة البدنية، تم تطويره باستخدام إطار عمل Flutter. يركز التطبيق على عرض تصميمات واجهة مستخدم (UI) وتجربة المستخدم (UX) مُتقدمة، مع اعتماد كامل على أفضل الممارسات في إدارة الحالة (State Management) وتخطيط الشاشات بشكل مرن.
**الميزات الأساسية:**
- **الرئيسية:** مركز إشعارات النشاط اليومي، الإحصائيات، وأدوات التخطيط السريع.
- **مخطط التمارين:** فلاتر للتمارين حسب النوع، مع عرض تفاصيل ومجموعات تدريبية.
- **مخطط الوجبات:** تصنيف الوجبات، عرض السعرات الحرارية والمكونات، وإمكانية الإضافة إلى المفضلة.
- **تتبع التقدم:** رسوم بيانية تفاعلية لعرض التغيرات على مدى الوقت والأهداف.
- **الملف الشخصي:** تعديل المعلومات الشخصية، رؤية الإحصائيات، وتغيير الثيم.
- **الإعدادات:** تحديد الإشعارات، الوحدات، اللغة والمظهر العام.
- **صفحة "عن التطبيق":** معلومات حول الإصدار، المطور، والروابط القانونية.
**مميزات التصميم:**
- الاعتماد الكامل على **مكتبة Material 3** من Google.
- استخدام **ثيم داكن** كأساس مع اختلافات في الألوان الثانوية.
- تصميم **متجاوب** يعمل على الهواتف، الأجهزة اللوحية، والويب باستخدام أدوات مثل `LayoutBuilder`.
- تخزين الصور عبر مكتبة `cached_network_image` مع دعم للصور الاحتياطية.
- التنقل عبر شريط تنقل سفلي (للهواتف والأجهزة اللوحية)، وقائمة جانبية (للويب)، بالإضافة إلى النوافذ المنبثقة.
️ **إدارة الحالة والبنية التقنية:**
- استخدام **Riverpod** لإدارة الحالة بكفاءة.
- بناء الكائنات باستخدام **Freezed** لتوفير الطرازات غير القابلة للتغيير.
- التعامل مع الحالات الآسيونكرنية عبر `AsyncValue`.
- استخدام `ConsumerWidget` و `HookConsumerWidget` لبناء واجهات تحتوي على حالة داخلية.
- التركيز على جودة الكود مع تنظيفه وتوثيقه بشكل واضح.
️ **التقنيات المستخدمة:**
- **Flutter** - الإطار الأساسي لتطوير التطبيق.
- **Riverpod** - لإدارة الحالة.
- **Freezed** - لإنشاء الطرازات الثابتة.
- **fl_chart** - لرسم البيانات البيانية.
- **cached_network_image** - لتحسين تحميل الصور.