CourseJ is a web-based course management system that allows to manage enrollments, courses, lessons, and progress of learning. The system is built in REST API architecture using Spring Boot, Spring Data JPA, and HATEOAS.
The course management system includes the following features:
- Course management: teachers can create, update, and delete courses
- Enrollment management: students can enroll in courses and view their enrollments
- Course progress tracking: users can track their progress in enrolled courses, view lessons and their progress
- Pagination and sorting for users (HATEOAS support)
The following technologies are used in this project:
- Java 17
- Spring Boot 3
- Spring Data
- Spring Security 6
- Spring HATEOAS
- JWT
- H2 database (temporary)
- Maven
- caching
- better exception handling
- scheduling
- better testing