واجهة برمجة تطبيقات ذكية تساعد المطورين على التركيز عن طريق تحديد عدد المصادر النشطة بـ 3 فقط، مع مكتبة تتسع لـ 10 مصادر وقسم للمواد المكتملة.
المشكلة:
عندما تدرس عدة مواضيع في نفس الوقت، يتشتت انتباهك وتفقد الأولويات. الحلول التقليدية لا تفرض أي قيود سلوكية.
الحل:
واجهة API تفرض حدًا أقصى 3 مصادر للحالة "حالي" و10 مصادر للحالة "مكتبة"، مما يجبر المستخدم على التركيز فعليًا
يتم استخدام المصادقة عن طريق JWT لضمان أن كل مستخدم يرى ويدير موارده الخاصة فقط، دون تداخل مع مستخدمين آخرين.
طريقة العمل:
1. المستخدم يسجل حساب جديد (`POST /api/auth/signup`)
2. يقوم بتسجيل الدخول (`POST /api/auth/login`)
3. الخادم يرد بـرمز JWT صالح لمدة محددة
4. كل طلب لاحق للموارد المحمية يرسل الرمز في الترويسة `<Authorization: Bearer <token`
5. الخادم يتحقق من صحة الرمز قبل تنفيذ أي عملية
استخدمت قاعدة بيانات better-SQLite لأنها تعتبر خفيفة وجيدة للمشاريع الشخصية.
استعملت ايضا jest لاختبارات للتأكد من كفاءة المنتج البرمجي