This project is a Learning Management System (LMS) built with React.js for the frontend, Spring Boot for the backend, and MySQL as the database. It provides a comprehensive platform for managing online courses, user profiles, assessments, progress tracking, and more.
- User registration and login functionality.
- User profiles with the ability to update information.
- Admin can add, edit, and manage courses.
- Course details include name, instructor, description, and more.
- Users can take assessments related to courses.
- Admin can create and manage assessment questions.
- Monitor user progress and completion status.
- Visual representation of user progress.
- Automatic certificate generation upon course completion.
- Personalized certificates with user details.
- Course-specific discussion forums for users.
- Interaction between users and instructors.
- JWT token-based authentication.
- Role-based access control (ADMIN, USER).
- Secure password encryption.
- Default admin account for initial setup.
- Note: INSTRUCTOR role will be implemented soon.
- Manage courses and assessment questions.
- Track students, courses, and enrollments.
- Core Framework: React, React DOM, React Router
- UI Components: Ant Design, Lucide Icons, FontAwesome
- Styling: Tailwind CSS
- API Communication: Axios
- Additional Libraries: React Player, jsPDF, html2canvas, Moment.js, React DOM Confetti
- Framework: Spring Boot
- Language: Java
- Security: Spring Security with JWT
- Authentication: Role-Based Access Control
- Database Integration: Spring Data JPA
- Architecture: RESTful API
- Build Tool: Maven
- MySQL
- Tables: course, learning, progress, discussion, feedback, question, user, assessment
- Java 17 or higher
- Maven 3.6+
- MySQL 8.0+
- Node.js and npm
-
Clone the repository:
git clone https://github.com/PATMESH/Learning-Management-System.git
-
Navigate to the frontend and backend folders and follow their respective setup instructions.
- Open the backend folder in IntelliJ IDEA or Spring Tool Suite (STS).
- Update the database credentials in backend/application.properties.
- Build and run the project from the IDE.
- Open the frontend folder in Visual Studio Code (VS Code).
- Then the terminal, run:
npm install
npm start-
Visit the application on http://localhost:3000.
-
As an admin, you can manage courses, create assessments, and monitor user progress. To access the admin dashboard, if your application is running locally, you can navigate to http://localhost:3000/admin.
-
Email: [email protected]
-
Password: admin123
-
Users can register, log in, view courses, take assessments, and receive certificates.
- Access interactive API docs at: http://localhost:8080/swagger-ui/index.html
- Open issues to report bugs or suggest features
- Submit pull requests to improve the project
- Feedback and contributions are highly appreciated
Login:


















