E-learning LMS with React/TypeScript frontend and Django backend for SCORM-based course delivery.
Learning Section
- Course dashboard with statistics
- My Courses (assigned, in progress, completed)
- SCORM course player with progress tracking
- Certificate downloads (individual and bulk ZIP)
- Course detailed views with logs
- Notifications system
Admin Section
- Dashboard with system metrics
- Course management (create, upload SCORM packages, edit, assign)
- User management with department organization
- Enrollment tracking and filtering
- Bulk course assignments by department
- Certificate generation and downloads
- Course and user detailed views with statistics
Frontend: React 18, TypeScript, Material UI, react-i18next (EN/DE), React Router, Axios
Backend: Django 4.2, Django REST Framework, PostgreSQL, Token authentication, ReportLab (PDF certificates)
Infrastructure: Docker, Docker Compose
docker-compose up --buildAccess:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Admin Panel: http://localhost:8000/admin
Create a superuser:
docker-compose exec backend python manage.py createsuperuser- SCORM 1.2 Support: Full runtime API, progress tracking, CMI data persistence
- Course Management: Upload ZIP packages, extract manifests, configure metadata (title, description, duration, language, due dates)
- Enrollment System: Status tracking (not_started, started, completed, not_completed, result_pending)
- Departments: User organization with department managers
- Notifications: Course assignments, reminders, due date alerts, results ready
- Certificates: PDF generation with customizable course duration display
- Progress Tracking: Automatic progress calculation from SCORM CMI data
k-learning/
├── backend/
│ ├── kaer_learning/ # Django settings
│ ├── courses/ # Course models, views, SCORM runtime
│ ├── users/ # User profiles, departments, notifications
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Learning & admin pages
│ │ ├── contexts/ # Auth, i18n contexts
│ │ └── services/ # API clients
│ └── package.json
└── docker-compose.yml
Environment variables are configured in docker-compose.yml.