Skip to content

MWHEBA/LMS

Repository files navigation

نظام إدارة التعلم (LMS)

نظام إدارة تعلم شامل مبني باستخدام Django (Backend) و Next.js (Frontend).

المميزات

  • إدارة المقررات والدروس
  • نظام المصادقة والتسجيل
  • تتبع تقدم الطلاب
  • نظام التقييمات والاختبارات
  • الشهادات والإنجازات
  • المناقشات والتعليقات
  • الإشعارات والرسائل
  • التحليلات والتقارير

البنية التقنية

Backend (Django)

  • Framework: Django 4.2.23
  • API: Django REST Framework
  • Database: SQLite (قابل للتغيير لـ PostgreSQL)
  • Authentication: JWT
  • Documentation: DRF-YASG (Swagger)

Frontend (Next.js)

  • 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

  1. انتقل لمجلد Backend:
cd backend
  1. إنشاء بيئة افتراضية:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# أو
venv\Scripts\activate     # Windows
  1. تثبيت المتطلبات:
pip install -r requirements.txt
  1. إعداد متغيرات البيئة:
cp .env.example .env
# قم بتعديل ملف .env بالقيم المناسبة
  1. تطبيق الهجرات:
python manage.py migrate
  1. إنشاء مستخدم إداري:
python manage.py createsuperuser
  1. تشغيل الخادم:
python manage.py runserver

إعداد Frontend

  1. انتقل لمجلد Frontend:
cd frontend
  1. تثبيت المتطلبات:
npm install
  1. إعداد متغيرات البيئة:
cp .env.example .env.local
# قم بتعديل ملف .env.local بالقيم المناسبة
  1. تشغيل خادم التطوير:
npm run dev

الوصول للتطبيق

البنية

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              # هذا الملف

المساهمة

  1. Fork المشروع
  2. إنشاء branch جديد (git checkout -b feature/amazing-feature)
  3. Commit التغييرات (git commit -m 'Add amazing feature')
  4. Push للـ branch (git push origin feature/amazing-feature)
  5. فتح Pull Request

الترخيص

هذا المشروع مرخص تحت رخصة MIT - راجع ملف LICENSE للتفاصيل.

قبل الرفع على GitHub

تأكد من تشغيل 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 كامل

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published