
This Learning Management System (LMS) is a web application designed to streamline the management of online learning activities. It provides users with features like course enrollment, progress tracking, and course content management, making education more accessible and efficient.
- 🔒 User Authentication: Secure login and sign-up.
- 🔑 Role-Based Access Control: Separate functionalities for Admin, Instructor, and Student roles.
- 📋 Course Management: Create, update, delete, and view courses.
- 📊 User Dashboard: Track progress and performance.
- 📝 Assignment System: Upload and grading functionalities.
- 🔔 Notifications: Stay updated with important alerts.
- Framework: React.js
- Styling: Tailwind CSS
- State Management: Redux Toolkit
- Routing: React Router
- Framework: Node.js with Express.js
- Database: MongoDB with Mongoose ORM
- Authentication: JSON Web Tokens (JWT)
- Version Control: Git and GitHub
- Project Management: Trello/Asana
- Node.js and npm installed
- MongoDB set up and running
- Basic knowledge of JavaScript and React
- 📥 Clone the repository from GitHub.
- Navigate to the project directory and install dependencies:
npm install
- 🛠️ Configure environment variables in a
.env
file:MONGO_URI=your_mongo_connection_string JWT_SECRET=your_secret_key
- 🚀 Start the development server:
npm run dev
- 🌐 Access the application at
http://localhost:3000
.
- 🛡️ Run unit tests for backend APIs using Jest:
npm test
- 🖥️ Perform manual testing through Postman or the frontend interface.
- 🌟 Frontend hosted on Vercel
- ☁️ Backend hosted on Vercel
- 💾 Database hosted on MongoDB Atlas.
- 🛡️ Admin: Manage users and courses, view analytics.
- 👩🏫 Instructor: Create and manage courses, grade assignments.
- 👨🎓 Student: Enroll in courses, complete assignments, and track progress.
- 🔐 Implementing secure role-based access control.
- 📱 Ensuring responsive design across devices.
- ⚡ Optimizing backend for scalability and performance.