? نوع العمل
مشروع Habit Tracker هو تطبيق متكامل لإدارة وتتبع العادات اليومية، يهدف إلى مساعدة المستخدمين على بناء عادات إيجابية ومتابعة التقدم بشكل مستمر من خلال واجهة تفاعلية ونظام إحصائي.
يعتمد المشروع على بنية Full-Stack تجمع بين Backend مبني بـ FastAPI وواجهة Desktop باستخدام Electron.
? ميزاته
1. نظام المصادقة (Authentication)
تسجيل المستخدمين وإنشاء حساب جديد
تسجيل الدخول باستخدام البريد الإلكتروني وكلمة المرور
تشفير كلمات المرور باستخدام bcrypt لضمان الأمان
2. إدارة العادات (Habit Management)
إنشاء عادات جديدة مع تحديد:
الفئة (صحة، دراسة، عمل…)
الأولوية (مرتفع، متوسط، منخفض)
تعديل أو حذف العادات
عرض جميع العادات الخاصة بالمستخدم
تفعيل/تعطيل العادات
3. تتبع الإنجاز اليومي (Habit Tracking)
تسجيل إنجاز العادة يوميًا (Mark as Done)
تخزين سجل الإنجازات (Logs)
متابعة حالة العادة اليومية (تم الإنجاز أو لا)
إعادة التتبع يوميًا (reset يومي)
4. لوحة التحكم (Dashboard)
عرض إحصائيات:
عدد العادات
عدد العادات المكتملة اليوم
نسبة الإنجاز (Completion Rate)
عرض العادات في شكل بطاقات (Cards)
واجهة تفاعلية وسهلة الاستخدام
5. تصميم واجهة المستخدم (UI/UX)
تصميم حديث باستخدام Tailwind CSS
نظام ألوان حسب الفئة (Health, Study, Work…)
تأثيرات حركية (Animations)
تصميم متجاوب (Responsive)
إشعارات (Toast messages)
6. إدارة الحالة والتجربة
حفظ الجلسة باستخدام LocalStorage
تحميل البيانات بشكل ديناميكي
معالجة الأخطاء وعرض الرسائل للمستخدم
? طريقة التنفيذ (Implementation)
1. المعمارية العامة
تم اعتماد معمارية Client–Server:
Backend:
FastAPI (Python)
مسؤول عن:
إدارة المستخدمين
إدارة العادات
تسجيل التتبع اليومي
Frontend:
Electron (Desktop Application)
HTML + Tailwind CSS + JavaScript
2. تصميم API
تم بناء REST API يشمل:
Authentication APIs (login/register)
Habit APIs (CRUD operations)
Habit Logs APIs (tracking)
كل العمليات تعتمد على:
async/await
فصل واضح بين الطبقات
3. قاعدة البيانات
تم استخدام قاعدة بيانات (MongoDB):
Users
Habits
Habit Logs
تعتمد على:
تخزين NoSQL
ربط المستخدم بالعادات
تسجيل يومي للحالة
4. منطق التتبع (Business Logic)
كل عادة يمكن تسجيلها مرة يوميًا
يتم احتساب نسبة الإنجاز تلقائيًا
يتم تحديث الإحصائيات في الوقت الحقيقي
يتم إعادة التتبع يوميًا (reset logic)
5. الأمان
تشفير كلمات المرور (bcrypt)
التحقق من المدخلات (Pydantic)
حماية الواجهة (Electron sandboxing)
CORS في الـ backend
? خلاصة
هذا المشروع يمثل نظامًا عمليًا لإدارة العادات اليومية، حيث يجمع بين:
تطوير Backend قوي باستخدام FastAPI
واجهة Desktop تفاعلية باستخدام Electron
نظام تتبع وتحليل سلوك المستخدم
ويهدف إلى:
تحسين الإنتاجية الشخصية
مساعدة المستخدم على بناء عادات إيجابية
توفير رؤية واضحة للتقدم اليومي