This is a Spring Boot application for managing students. It provides a REST API for CRUD operations on student entities.
- Create, read, update, and delete students
- REST API
- MySQL database integration
- Docker support
- Java 21
- Spring Boot 3.4.3
- Spring Data JPA
- Actuator
- Swagger
- Validation
- Lombok
- Model Mapper
- Maven
- MySQL
- Git
- GitHub
- Docker
- Logging with SLF4J
- Resilience4j for fault tolerance
- Rate Limiting with resilience4j
- Exception handling
-
Clone the repository: git clone https://github.com/ruben-rdez/student-mgmt.git
-
Configure the database in application.properties: spring.datasource.url=jdbc:mysql://localhost:3306/studentsdb spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.username=username spring.datasource.password=password
-
Build the project: mvn clean package
-
Run the application: mvn spring-boot:run
-
The application will be available at http://localhost:8080/swagger-ui/index.html
GET /students
- Get all studentsGET /students/{id}
- Get a student by idGET /students/{email}
- Get a student by emailPOST /students
- Add a studentPUT /students/{id}
- Update a studentPATCH /students/{id}/email
- Update a student's email by idDELETE /students/{id}
- Delete a student
To run the tests, use the following command: mvn test