Learning Management System (LMS) - Backend Application
I’m currently developing and expanding a backend learning management system (LMS) using Java, Spring Boot, and MySQL. The system is designed to support real-world educational workflows while maintaining a clean architecture, robust security, and scalable design.
This project is part of my continuous backend development journey, and I’m actively enhancing it with new features and improvements.
Current Features:
- Student & Instructor registration with JWT authentication
- Role-based access control using Spring Security
- Course management: create, assign, enroll
JavaMail integration: When a student enrolls in a course, a welcome email is sent from the instructor.
- The instructor also receives a notification email when a student joins their course.
API documentation using Swagger UI
Consistent error handling with custom response structures
Unit testing for services and controllers using JUnit & Mockito
Tech Stack:
- Java 21
- Spring Boot
- Spring Security + JWT
- MySQL
- Swagger
- JUnit + Mockito
- JavaMail