نظام إدارة تعلم شامل مبني باستخدام Django (Backend) و Next.js (Frontend).
- إدارة المقررات والدروس
- نظام المصادقة والتسجيل
- تتبع تقدم الطلاب
- نظام التقييمات والاختبارات
- الشهادات والإنجازات
- المناقشات والتعليقات
- الإشعارات والرسائل
- التحليلات والتقارير
- Framework: Django 4.2.23
- API: Django REST Framework
- Database: SQLite (قابل للتغيير لـ PostgreSQL)
- Authentication: JWT
- Documentation: DRF-YASG (Swagger)
- Framework: Next.js 14
- Language: TypeScript
- UI Library: Material-UI + Ant Design
- State Management: TanStack Query
- Styling: SCSS + Bootstrap
- Python 3.8+
- Node.js 18+
- npm أو yarn
- انتقل لمجلد Backend:
cd backend- إنشاء بيئة افتراضية:
python -m venv venv
source venv/bin/activate # Linux/Mac
# أو
venv\Scripts\activate # Windows- تثبيت المتطلبات:
pip install -r requirements.txt- إعداد متغيرات البيئة:
cp .env.example .env
# قم بتعديل ملف .env بالقيم المناسبة- تطبيق الهجرات:
python manage.py migrate- إنشاء مستخدم إداري:
python manage.py createsuperuser- تشغيل الخادم:
python manage.py runserver- انتقل لمجلد Frontend:
cd frontend- تثبيت المتطلبات:
npm install- إعداد متغيرات البيئة:
cp .env.example .env.local
# قم بتعديل ملف .env.local بالقيم المناسبة- تشغيل خادم التطوير:
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Admin Panel: http://localhost:8000/admin
- API Documentation: http://localhost:8000/swagger
LMS/
├── backend/ # Django Backend
│ ├── lms_project/ # إعدادات المشروع
│ ├── users/ # إدارة المستخدمين
│ ├── learning/ # المقررات والدروس
│ ├── assessments/ # التقييمات
│ ├── certificates/ # الشهادات
│ ├── discussions/ # المناقشات
│ ├── notifications/ # الإشعارات
│ ├── messaging/ # الرسائل
│ ├── analytics/ # التحليلات
│ └── integration/ # التكامل مع APIs خارجية
├── frontend/ # Next.js Frontend
│ ├── src/
│ │ ├── app/ # صفحات التطبيق
│ │ ├── components/ # المكونات
│ │ ├── services/ # خدمات API
│ │ ├── hooks/ # React Hooks
│ │ ├── types/ # تعريفات TypeScript
│ │ └── utils/ # أدوات مساعدة
│ └── public/ # الملفات الثابتة
└── README.md # هذا الملف
- Fork المشروع
- إنشاء branch جديد (
git checkout -b feature/amazing-feature) - Commit التغييرات (
git commit -m 'Add amazing feature') - Push للـ branch (
git push origin feature/amazing-feature) - فتح Pull Request
هذا المشروع مرخص تحت رخصة MIT - راجع ملف LICENSE للتفاصيل.
تأكد من تشغيل script الفحص:
# Linux/Mac
./scripts/pre-commit-check.sh
# Windows
scripts\pre-commit-check.batللحصول على الدعم أو الإبلاغ عن مشاكل، يرجى فتح issue في GitHub.
- ✅ Backend Django مع REST API كامل
- ✅ Frontend Next.js مع TypeScript
- ✅ نظام المصادقة JWT
- ✅ إدارة المقررات والدروس
- ✅ نظام التقييمات
- ✅ المناقشات والتعليقات
- ✅ الإشعارات والرسائل
- ✅ التحليلات والتقارير
- ✅ Docker support
- ✅ CI/CD pipeline
- ✅ Documentation كامل