? نوع العمل
مشروع Formation Continue Platform هو نظام معلوماتي متكامل لإدارة برامج التكوين المستمر (التدريب المهني)، يهدف إلى رقمنة دورة حياة التكوين بالكامل، بدءًا من نشر العروض واستقبال الترشحات، وصولًا إلى تنظيم الدورات التدريبية (Cohorts) وإدارتها.
يعتمد النظام على معمارية Full-Stack حديثة مع دعم تعدد الأدوار والتفاعل بين مختلف الفاعلين في المنظومة.
? ميزاته
1. إدارة دورة الترشح (Application Lifecycle)
نشر عروض التكوين من طرف المنسقين (Coordinators)
تقديم الشركات لطلبات المشاركة
رفع ملفات الموظفين
مراجعة الملفات واتخاذ القرار
نشر النتائج النهائية
2. نظام المجموعات التدريبية (Cohorts)
إنشاء Cohort مرتبط بدورة تكوين معينة
تحديد فترة التكوين (start/end date + ساعات العمل اليومية)
تعيين الأساتذة (Professors) لكل Cohort
تنظيم الجلسات التدريبية داخل حدود زمنية محددة
3. جدولة الحصص (Session Scheduling)
تمكين الأستاذ من:
إنشاء الحصص
تعديلها أو حذفها
التحقق من احترام قيود التوقيت (داخل فترة التكوين)
عرض جدول زمني منظم (Calendar)
4. واجهات حسب الدور (Role-Based System)
النظام يدعم عدة أدوار:
Admin: إدارة عامة للنظام
Coordinator: إدارة العروض والمجموعات
Professor: إدارة الحصص والمواد
Company: التقديم على العروض
Employee: متابعة التكوين
Staff: دعم العمليات
5. منصة تدريب للموظفين
عرض جدول التكوين الخاص بالمستخدم
تحميل المواد التعليمية (Courses Materials)
متابعة الجلسات التدريبية بشكل ديناميكي
6. إدارة المواد التعليمية
رفع المواد من طرف الأساتذة
ربطها بالدورات التدريبية
تحميلها من طرف المتدربين
7. نظام الإشعارات والمهام الخلفية
استخدام Celery للمهام غير المتزامنة
إرسال الإيميلات (notifications)
تحديثات تلقائية للنظام
8. نظام أمان وصلاحيات
JWT Authentication
Role-Based Access Control (RBAC)
حماية الوصول للبيانات حسب الدور
? طريقة التنفيذ (Implementation)
1. المعمارية العامة
تم اعتماد معمارية Client–Server مع فصل الطبقات:
Frontend:
Next.js (React + TypeScript)
واجهات متعددة حسب الدور
تصميم باستخدام Tailwind CSS
Backend:
FastAPI (Python)
إدارة المنطق (Business Logic)
إدارة الصلاحيات والتحقق
قاعدة البيانات:
PostgreSQL (بيانات العلاقات)
Redis (الكاش والمهام)
2. تصميم النظام (Architecture)
API-first design (كل شيء عبر REST APIs)
فصل واضح:
API Layer
Service Layer
Data Layer
دعم التوسع (Scalability) عبر:
async processing
stateless backend
3. نموذج البيانات (Data Model)
الكيانات الأساسية:
Cohort
Professor Assignment
Sessions
Users (multi-role)
Materials
العلاقات:
Cohort مرتبط بـ Call و Course
Professor مرتبط بـ Cohort (many-to-many)
Sessions مرتبطة بـ Cohort
4. منطق العمل (Business Logic)
لا يمكن إنشاء جلسة خارج فترة التكوين
يتم فرض القيود في backend
عرض البيانات بشكل ديناميكي حسب الدور
تحديث فوري عند تغيير الجلسات
5. واجهات المستخدم
صفحات عامة (Landing, Auth)
Dashboards حسب الدور:
Coordinator Dashboard
Professor Dashboard
Employee Dashboard
6. التكامل (Integration)
REST APIs للتواصل بين frontend و backend
Celery للمهام الخلفية
Email services للتواصل
? خلاصة
هذا المشروع يمثل نظامًا مؤسسيًا متكاملًا لإدارة التكوين المهني، ويجمع بين:
تطوير Full-Stack حديث
إدارة workflows معقدة
نظام multi-role حقيقي
تنظيم التدريب بشكل ديناميكي
ويهدف إلى:
تحسين إدارة التكوين المستمر
تسهيل التنسيق بين الأطراف المختلفة
رقمنة العمليات التعليمية