A comprehensive full-stack e-learning platform built with the MAD Stack (MongoDB, Angular, Django) featuring modern DevOps practices, cloud-native architecture, and enterprise-grade security.
Enterprise-grade learning management solution with comprehensive features
Everything you need for a modern learning management system
Complete user authentication and authorization with JWT tokens, role-based access control (RBAC), and support for students, instructors, and administrators.
Create, update, delete, and organize courses with categories, lessons, multimedia content, and rich text descriptions. Full CRUD operations available.
Interactive quizzes with multiple-choice questions, automatic grading, progress tracking, and detailed analytics for instructors.
Real-time progress monitoring for students, lesson completion tracking, achievement milestones, and comprehensive reporting dashboards.
High-performance server-side caching with Redis for improved response times, reduced database load, and enhanced scalability.
Enterprise-grade security with encrypted passwords, secure token management, CORS protection, and comprehensive API authentication.
Fully responsive interface built with Bootstrap 5, optimized for desktop, tablet, and mobile devices with PWA capabilities.
Comprehensive REST API with Swagger/OpenAPI documentation, versioning support, and extensive endpoint coverage for all features.
Real-time notification system for course updates, enrollment confirmations, progress achievements, and important announcements.
Automated deployment with GitHub Actions and Jenkins, Docker containerization, and Kubernetes orchestration for seamless updates.
Modern, scalable, and cloud-native architecture design
Built with modern, production-ready technologies
Modern TypeScript-based framework with reactive forms, routing, HTTP client, and comprehensive component architecture.
Responsive CSS framework for mobile-first design with utility classes and pre-built components.
Reactive programming library for handling asynchronous data streams and event-based operations.
High-level Python web framework with ORM, authentication, admin interface, and comprehensive security features.
Powerful toolkit for building Web APIs with serializers, viewsets, authentication, and browsable API interface.
Latest Python version with improved performance, better error messages, and enhanced type hinting capabilities.
NoSQL document database for storing courses, lessons, enrollments, and user data with flexible schema design.
In-memory data store for caching, session management, and real-time data processing with sub-millisecond latency.
Lightweight database for Django authentication and user management with zero-configuration setup.
Container platform for packaging applications with all dependencies in isolated, portable environments.
Container orchestration platform for automated deployment, scaling, and management of containerized applications.
Automation server for CI/CD pipelines with build, test, and deployment automation capabilities.
Native CI/CD workflows integrated with GitHub for automated testing and deployment on every push.
Cloud infrastructure with ECS Fargate, RDS, DocumentDB, ElastiCache, and comprehensive monitoring services.
Infrastructure as Code tool for provisioning and managing cloud resources with declarative configuration.
Multiple deployment strategies for different needs and scales
Best for: Local development and testing
Quick setup with docker-compose.yml including frontend, backend, MongoDB,
and Redis services. Perfect for development environments.
Setup time: 5-10 minutes
Best for: Self-hosted production environments
Complete Kubernetes manifests for deploying to any K8s cluster with auto-scaling,
service discovery, and health monitoring.
Setup time: 30-60 minutes
Best for: Enterprise production deployments
Full Infrastructure as Code with Terraform modules for VPC, ECS, RDS,
ElastiCache, CloudFront, and comprehensive AWS services.
Cost: ~$1,400/month
Best for: Quick deployments and MVPs
Simple managed deployment with Vercel for frontend and Render for backend.
Includes MongoDB Atlas and Redis Cloud.
Cost: ~$25/month
Comprehensive RESTful API with Swagger documentation
Interactive API documentation with try-it-out functionality. Test all endpoints directly from your browser with authentication support.
Open Swagger UIBeautiful API documentation with detailed endpoint descriptions, request/response examples, and schema definitions.
Open ReDocDownload the complete OpenAPI 3.0 specification for code generation, testing, and integration with your tools.
Download YAML| Endpoint | Method | Description | Auth Required |
|---|---|---|---|
/api/auth/login/ |
POST | User login with credentials | No |
/api/auth/registration/ |
POST | Register new user account | No |
/api/courses/ |
GET | List all available courses | Yes |
/api/courses/ |
POST | Create new course | Yes (Instructor) |
/api/courses/{id}/ |
GET | Get course details | Yes |
/api/lessons/ |
GET | List all lessons | Yes |
/api/enrollments/ |
POST | Enroll in a course | Yes (Student) |
/api/progress/ |
GET | Get learning progress | Yes |
/api/quizzes/{id}/ |
GET | Get quiz questions | Yes |
/api/users/ |
GET | List all users | Yes (Admin) |
Quick setup guide for local development
git clone https://github.com/hoangsonww/Learning-Management-System-Fullstack.git
cd Learning-Management-System-Fullstack
cd LMS-Backend
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Backend will run on http://localhost:8000
cd LMS-Frontend/app
npm install
ng serve
Frontend will run on http://localhost:4200
Ensure MongoDB and Redis are running:
# Using Docker
docker run -d -p 27017:27017 --name mongodb mongo:5.0
docker run -d -p 6379:6379 --name redis redis:6
# Or use MongoDB Atlas and Redis Cloud for production
docker-compose up --build
All services will start automatically with proper networking
Preview of the application interface
Additional guides and references
Comprehensive architecture documentation with detailed diagrams, component interactions, and design decisions.
Read GuideStep-by-step deployment instructions for Docker, Kubernetes, AWS, and managed services with cost estimates.
View DeploymentComplete project overview, installation instructions, features list, and troubleshooting guide.
Read READMESource code, issues, pull requests, releases, and contributions. Star the repo and contribute!
View Repository