A RESTful API service built using Spring Boot to manage the exam enrollment process for a Learning Management System (LMS). The application uses MySQL to persist user data.
- CRUD Operations: Perform Create, Read, Update and Delete operations for Students, Subjects and Exams.
- Enrollment Logic: Ensure students can only register for exams after enrolling in corresponding subjects.
- Exception Handling: Gracefully handle errors and return appropriate HTTP status codes.
- GlobalExceptionHandler: Centralized exception handling using @ControllerAdvice for improved code maintainability.
- Java 17 or higher
- MySQL
- Postman for API testing
-
Clone the repository:
git clone https://github.com/pgprajwal/Learning-Navigator.git
-
Navigate to the project directory:
cd Learning-Navigator
-
Open the
application.properties
file located insrc/main/resources
directory. -
Configure the MySQL database connection settings:
spring.datasource.url = jdbc:mysql://localhost:3306/learning_navigator spring.datasource.username = root spring.datasource.password = password
Replace
localhost
,3306
,root
, andpassword
with your MySQL host, port, username and password respectively. -
Save the changes to the
application.properties
file.
-
Run the application using Gradle:
./gradlew bootrun
You can find the API endpoints and test them using the provided Postman Collection