تفاصيل العمل

نظام تعليمي للمرحلة الثانوية — المنقذ (Al-Monqez)

الوصف القصير:

نظام تعلم للمرحلة الثانوية: الأدمن يبني الصفوف والدورات والباقات، والطالب يفتح كل كورسات صفه لما الأدمن يشتركه في باقة نشطة. بدون دفع ذاتي من الطالب. باكند NestJS مع PostgreSQL وRedis وJWT وفيديوهات Bunny Stream.

الموقع: https://almonqez.online

الوصف الكامل:

المنقذ (Al-Monqez) نظام إدارة تعلم للمرحلة الثانوية.

الأدمن يبني الصفوف والدورات وكatalog باقات اشتراك عام. الطلاب يسجلوا نفسهم، والأدمن يشترك الطالب في باقة. الاشتراك النشط بيفتح كل كورسات صف الطالب لحد ما ينتهي. مفيش checkout ذاتي من الطالب.

التقنية:

- NestJS (modular monolith)

- PostgreSQL

- Redis

- JWT

- إيميل

- رفع ملفات محلي

- فيديوهات الدروس عبر Bunny Stream embeds

- API تحت /api/v1

الصفوف: أولى / تانية / تالتة ثانوي — صف واحد لكل مرحلة.

المميزات:

1) الطلاب والأدمن

- الطالب يسجل نفسه، يفعّل الإيميل، يدخل، يدير بروفايله، يتصفح الكتالوج، ياخد كورسات اشتراكه، ويعلّم الدروس كمكتملة

- الأدمن بحساب جاهز مسبقاً (مش بيسجل نفسه)

- الأدمن يدير الحسابات والصفوف والدورات والباقات والاشتراكات حسب صلاحيات الدور

2) المصادقة (Auth)

- للطالب: تسجيل، كود تفعيل في Redis، إعادة إرسال، دخول، refresh، خروج، واستعادة كلمة المرور

- للأدمن: دخول، refresh، خروج، واستعادة كلمة المرور

- Access token قصير العمر + Refresh token مشفّر، بأسرار منفصلة لكل طرف

- توكن الأدمن يحمل role id وقائمة صلاحيات: ACCOUNT, CLASS, COURSE, SUBSCRIPTION

3) الحسابات والأدوار

- الطالب يقرأ ويحدّث بروفايله (يوزرنيم، الاسم، الصورة، الصف)، يغيّر الباسورد، ويمسح حسابه

- حالات الحساب: ACTIVE / SUSPENDED / BANNED

- أدمن بصلاحية ACCOUNT: قائمة طلاب مع صفحات وفلتر حالة وبحث (اسم / يوزرنيم / إيميل)، إنشاء طالب، تغيير الحالة، أو الحذف

- إدارة أدمن آخرين: عرض، إنشاء، تحديث، حذف

- الأدوار محفوظة في الداتابيز، ومينفعش تمسح دور لو مرتبط بأدمن

- Super Admin / Admin / Teacher: ACCOUNT + CLASS + COURSE + SUBSCRIPTION

- Support: ACCOUNT + SUBSCRIPTION

4) الصفوف والدورات

- الموقع العام يعرض الصفوف

- أدمن CLASS: إنشاء وتحديث وحذف صف (اسم + مرحلة فريدة)

- الهيكل: صف → كورس → وحدة → درس (فيديوهات ومستندات)

- الزوار يشوفوا كورسات الصف وoutline الكورس

- توكن الطالب يضيف علامات الإكمال

- أدمن COURSE: إنشاء وتعديل كورسات (صورة غلاف)، إنشاء وحدات ودروس بالجملة، إضافة Bunny embeds، ورفع مستندات

- الدرس المقفول مخفي عن الطلاب

- الطالب يشوف كورسات اشتراك صفه، ويفتح الوحدة بس باشتراك نشط مطابق، ويعلّم الدرس مكتمل بعد ما Bunny يبلّغ إن الفيديو خلص

- الدروس المقفولة والمتطلبات الناقصة بتخفي المحتوى

5) الباقات والاشتراكات

- الباقات كتالوج عام (مش سعر لكل كورس)

- الأنواع: MONTHLY / FIRST_TERM / FULL_YEAR

- الحالة: ACTIVE أو INACTIVE — باقة واحدة نشطة كحد أقصى من كل نوع

- الموقع العام يعرض الباقات النشطة ومميزاتها

- أدمن SUBSCRIPTION: إنشاء وتعديل الباقات (اسم، نظرة عامة، سعر، مميزات، وتواريخ نهاية الترم/السنة)

- الاشتراك يدوي: الأدمن ينشئ اشتراك بطالب + باقة، والنظام يحفظ لقطة من صف الطالب والسعر المدفوع

- الشهري: شهر واحد | الترم أو السنة الكاملة: لحد تاريخ نهاية الباقة (الباقة المنتهية مرفوضة)

- الطالب له اشتراك واحد نشط في نفس الوقت

- الحالات: SUBSCRIBED / SUSPENDED / CANCELLED / EXPIRED

- التجديد يعمل صف جديد مرتبط بالقديم ويلغي القديم

- لو الاشتراك لسه SUBSCRIBED بس عدّى تاريخ النهاية، أول محاولة دخول بتحوّله EXPIRED وتمنع الوصول

- الوصول يحتاج: حالة مشترك + نافذة تاريخ صالحة + صف مطابق + حساب طالب نشط

6) الإيميل والإعدادات

- إيميلات تفعيل الطالب وإشعارات حالة الاشتراك

- أدمن ACCOUNT يقرأ ويحدّث إعدادات المنصة (حالياً رقم واتساب)

- رقم الواتساب متاح كمان من endpoint عام

نقاط تقنية:

- الموقع: https://almonqez.online

- API: REST /api/v1

- الفيديو: Bunny Stream

- الصفوف: أولى / تانية / تالتة

- البيانات: PostgreSQL + Redis

- التقنيات: NestJS, PostgreSQL, Redis, JWT, Bunny Stream

نسخة مختصرة:

طورت المنقذ (Al-Monqez): نظام تعلم للثانوي بـ NestJS — صفوف ودورات ووحدات ودروس بفيديو Bunny، باقات اشتراك يدوية من الأدمن تفتح كل كورسات الصف، أدوار وصلاحيات، وتفعيل بالإيميل — بدون دفع ذاتي من الطالب.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات