Learning Management System (LMS) Web Application
This project implements a web‑based Learning Management System (LMS) that allows students to access course materials, view lessons, attempt quizzes, and track their learning progress through an interactive dashboard.
The system provides a centralized platform for managing courses, lessons, quizzes, and student activity. It demonstrates how modern web technologies can be used to build a digital learning environment.
This project was developed as part of an Artificial Intelligence course project to demonstrate how intelligent monitoring and activity tracking concepts can be applied in educational platforms.
- User authentication and login system
- Interactive dashboard
- Course selection and course visuals
- Lesson delivery with PDF materials
- Quiz system with automatic scoring
- Progress tracking for students
- Time tracking of user activity
- Automatic logout on inactivity
- Tab-switch detection for session monitoring
- Dynamic course visuals for better UI experience
- HTML
- CSS
- JavaScript
- Node.js
- Express.js
- MongoDB
- Visual Studio Code
- Chrome Developer Tools
- Thunder Client / Postman
-
Clone the repository
git clone https://github.com/mohammadamir0762-arch/LMS.git cd LMS -
Install backend dependencies
cd server npm install -
Create environment file Create a
.envfile inside theserverfolder and add:GEMINI_API_KEY=your_api_key_here
-
Set up MongoDB
- Ensure MongoDB is installed and running locally.
- The application connects to
mongodb://127.0.0.1:27017/lms.
-
Start the backend server
node server.js
The backend will run on
http://127.0.0.1:4000. -
Run the frontend Open a new terminal from the project root and run:
python3 -m http.server 3000
-
Open the application Visit:
http://127.0.0.1:3000/client/index.html
- Email:
teacher@test.com - Password:
teacher123
- Email:
student@test.com - Password:
student123
- AI chatbot features require a valid Gemini API key.
server/.envis not included in the repository.server/node_modulesis not included in the repository.server/uploadsis not included in the repository.
/api/auth- Authentication routes (login, register)/api/course- Course management/api/lesson- Lesson delivery/api/quiz- Quiz handling/api/progress- Progress tracking/api/media- Media uploads
- Fork the repository.
- Create a new branch for your feature.
- Make your changes and test them.
- Submit a pull request.
This project is licensed under the ISC License.
lms_project
│
├── client
│ ├── dashboard
│ ├── css
│ ├── java
│ ├── assets
│ └── login.html
│
├── server
│ ├── routes
│ ├── models
│ ├── config
│ └── server.js
│
├── package.json
├── package-lock.json
└── README.md
- AI-based course recommendation system
- Automatic quiz generation
- Video lecture integration
- Admin dashboard
- Student analytics and performance prediction
Mohammad Amir
B.Tech Computer Science Engineering (AI/ML)
Vellore Institute of Technology