# E-Learning Platform – Project Description
منصة تعليم إلكتروني (LMS) متكاملة تم تطويرها باستخدام **Laravel** مع **Blade** و**Tailwind CSS** لتوفير تجربة تعليمية احترافية وقابلة للتوسع للطلاب، والمدربين، والإدارة. تهدف المنصة إلى تقديم بيئة تعليمية حديثة تجمع بين سهولة الاستخدام، وإدارة المحتوى، ومتابعة تقدم الطلاب، مع التركيز على الأداء والأمان وقابلية التوسع.
تتيح المنصة للمدربين إنشاء الدورات التدريبية وتنظيمها في أقسام (Sections) ودروس (Lessons)، مع إمكانية إضافة أنواع متعددة من المحتوى داخل الدرس الواحد مثل الفيديوهات، والملفات، والاختبارات، والمواد التعليمية المختلفة. كما يمكن للطلاب الاشتراك في الدورات، ومتابعة تقدمهم، وإكمال المحتوى بشكل تدريجي، مع حفظ نسبة الإنجاز لكل دورة.
تحتوي المنصة على ثلاث لوحات تحكم رئيسية:
* **لوحة الطالب:** لاستعراض الدورات، متابعة التقدم، مشاهدة المحتوى، وتحميل الملفات.
* **لوحة المدرب:** لإدارة الدورات والأقسام والدروس والاختبارات، ومتابعة أداء الطلاب.
* **لوحة الإدارة (Admin):** لإدارة المستخدمين، والصلاحيات، والدورات، والمدربين، والطلاب، والإحصائيات العامة للمنصة.
تم تصميم قاعدة البيانات بطريقة منظمة باستخدام العلاقات (Relationships) بين الجداول لضمان سهولة التوسع وإضافة المزايا الجديدة مستقبلًا. كما يعتمد المشروع على نظام **Roles & Permissions** لإدارة صلاحيات المستخدمين بشكل احترافي، مع توفير نظام مصادقة آمن (Authentication) لحماية الحسابات والبيانات.
### أهم المميزات
* إنشاء وإدارة الدورات التدريبية.
* تقسيم الدورات إلى Sections وLessons.
* دعم أكثر من نوع محتوى داخل الدرس (Video, PDF, Files, Exams وغيرها).
* نظام اشتراك في الدورات وتتبع تقدم الطلاب.
* إدارة كاملة للمستخدمين والأدوار والصلاحيات.
* لوحة تحكم منفصلة لكل من الطالب، والمدرب، والإدارة.
* رفع وإدارة الملفات والصور بطريقة آمنة.
* واجهة مستخدم حديثة ومتجاوبة باستخدام Tailwind CSS.
* إشعارات تفاعلية لتحسين تجربة المستخدم.
* تصميم قابل للتوسع لدعم عدد كبير من المستخدمين والدورات في المستقبل.
### التقنيات المستخدمة
* Laravel
* PHP
* MySQL
* Blade
* Tailwind CSS
* JavaScript
* SweetAlert2
* Eloquent ORM
* Laravel Storage
* Git & GitHub
تم بناء المشروع وفق أفضل ممارسات Laravel مع تنظيم الملفات إلى مكونات قابلة لإعادة الاستخدام (Reusable Components)، والاعتماد على هيكلية نظيفة (Clean Architecture) لتسهيل الصيانة والتطوير وإضافة مزايا جديدة مستقبلاً.