A comprehensive Learning Management System with separate Admin and Learner dashboards, built with modern web technologies.
This LMS is a full-featured educational platform that enables efficient management of online learning programs. It provides separate interfaces for administrators and learners, with a robust backend supporting all operations.
The system architecture follows a modern, scalable design with the following key components:
- Admin Dashboard: Manages courses, content, assessments, users, and analytics
- Learner Dashboard: Provides course access, learning interface, and progress tracking
- API Layer: RESTful endpoints for content delivery, course management, and user operations
- Business Logic Layer: Core services handling course management, content, assessments, and users
- Security Layer: Implements JWT authentication, data encryption, and access control
- Authentication Service
- File Storage System
- Email Service
- MongoDB collections for users, courses, materials, assessments, and enrollments
- JWT Authentication
- Role-Based Access Control
- Data Encryption
- Secure File Upload
- Input Validation
- Create and manage course content
- Upload and organize learning materials
- Design and schedule assessments
- Monitor student progress
- Generate performance reports
- Manage student enrollments.
- Support multiple content formats:
- Video lectures
- PDF documents
- Presentations
- Interactive quizzes
- Organize content by modules
- Track content engagement
- Create various question types
- Set up automated grading
- Schedule assessments
- Review submission analytics
- Provide feedback
- Access course materials
- Take assessments and quizzes
- Track personal progress
- View performance analytics
- Download course certificates
- Engage with course content
- Personal profile management
- Course enrollment
- Progress tracking
- Performance history
- Certificate management
- RESTful API design
- Secure authentication system
- File handling capabilities
- Data validation
- Performance optimization
- JWT authentication
- Protected routes
- Secure file uploads
- Data encryption
- Input sanitization
- Node.js
- Express.js
- MongoDB
- JWT for authentication
- React.js
- Modern UI libraries
- Responsive design
- Interactive components
- ESLint for code quality
- Prettier for formatting
- Git for version control
- Environment configurations
- Clone the repository
git clone [repository-url]- Install Backend dependencies
cd Back_End
npm install- Install Admin Dashboard dependencies
cd Admin
npm install- Install Learner Dashboard dependencies
cd BrilliantProClone-Learner
npm install- Configure environment variables
- Create
.envfiles in each directory - Set up necessary environment variables
cd Back_End
npm startcd Admin
npm startcd BrilliantProClone-Learner
npm startLearning-Management-System--LMS-/
βββ Back_End/ # Backend server
β βββ config/ # Configuration files
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ uploads/ # File storage
β βββ index.js # Server entry point
β
βββ Admin/ # Admin dashboard
β βββ public/ # Static files
β βββ src/ # Source files
β
βββ BrilliantProClone-Learner/ # Learner dashboard
βββ public/ # Static files
βββ src/ # Source files
The following environment variables are required:
# Backend
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
PORT=backend_port
# Frontend (Admin & Learner)
REACT_APP_API_URL=backend_api_url- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
