FitPulse من مكتبة تمارين إلى منصة لياقة متكاملة
بدأ المشروع كتطبيق بسيط لعرض التمارين والبحث عنها، ثم قمت بتطويره وتحويله إلى منصة لياقة متكاملة تضم أكثر من 1,300 تمرين مع فيديوهات توضيحية وأدوات تفاعلية تساعد المستخدم على التخطيط لتدريبه ومتابعة تقدمه.
كان التركيز في التطوير على الجمع بين تجربة مستخدم واضحة، بيانات ديناميكية، أدوات عملية وبنية قابلة للتطوير.
أبرز ما تم تطويره
* مكتبة تضم أكثر من 1,300 تمرين مع معلومات تفصيلية وفيديوهات توضيحية.
* البحث والتصفية للوصول إلى التمارين المطلوبة بسهولة.
* نظام المفضلة: حفظ التمارين والوصول إليها والبحث فيها وتصفيتها حسب العضلة.
* مخطط التدريب الأسبوعي: إضافة التمارين للأيام المختلفة وتسجيل المجموعات والتكرارات والأوزان ومتابعة نسبة الإنجاز.
* حاسبات اللياقة:** حساب BMI والسعرات والـMacros و1RM لمساعدة المستخدم على فهم احتياجاته التدريبية.
* مؤقت رياضي متكامل: Rest Timer وStopwatch وTabata/HIIT مع تنبيهات صوتية باستخدام Web Audio API.
* Dark / Light Mode: توفير الوضعين مع حفظ تفضيل المستخدم تلقائيًا.
* Skeleton Loading: تحسين تجربة الانتظار أثناء تحميل البيانات بدل الاعتماد على مؤشر تحميل تقليدي.
* Responsive Design: تجربة استخدام متناسقة على الهاتف والكمبيوتر ومختلف أحجام الشاشات.
التقنيات المستخدمة
React.js 18 · Material UI · React Context API · REST APIs · RapidAPI · LocalStorage API · Web Audio API · JavaScript · CSS
استخدمت React Context API لإدارة حالات التطبيق مثل الثيم والمفضلة وجدول التدريب، بينما تم استخدام LocalStorage لحفظ تفضيلات وبيانات المستخدم محليًا.
التحدي والحل
كان التحدي الأساسي هو تطوير تطبيق بدأ كمكتبة بسيطة للتمارين إلى تجربة يمكن للمستخدم الاعتماد عليها أثناء تدريبه.
لذلك لم أكتفِ بعرض البيانات، بل أضفت أدوات للتخطيط والمتابعة والحساب، مع معالجة مشاكل كانت موجودة في النسخة الأولى، مثل تداخل الـHero مع الـNavbar، مشاكل التجاوب وتجربة التحميل التقليدية.
كما أعدت تنظيم أجزاء من الواجهة والمكونات لتصبح أكثر قابلية لإعادة الاستخدام والتطوير.
ماذا يثبت هذا المشروع عن خبرتي؟
هذا المشروع يوضح قدرتي على تطوير وتحسين المشاريع الموجودة وتحويلها إلى منتجات أكثر تكاملًا، مع التعامل مع APIs والبيانات الديناميكية، إدارة الحالة، التخزين المحلي، الأدوات التفاعلية وتجربة المستخدم.
والأهم أنه يعكس قدرتي على التفكير في المشروع كمنتج متكامل، وليس مجرد واجهة يتم تنفيذها.
هذا المشروع مثال على قدرتي على أخذ فكرة موجودة، فهم احتياجات مستخدميها، ثم تطويرها إلى تجربة أكثر فائدة وتنظيمًا وقابلية للتوسع.