Student Management API
2022A Spring Boot REST API with a React front end for managing student records, packaged with Docker Compose for deployment to Elastic Beanstalk.
- Java
- Spring Boot
- React
- AWS Elastic Beanstalk
The backend is not currently hosted, so there is no live demo — the code and deployment configuration tell the story.
The API surface
student/StudentController.java
@RestController
@RequestMapping(path = "api/v1/students")
public class StudentController {
private final StudentService studentService;
@GetMapping
public List<Student> getAllStudents() {
return studentService.getAllStudents();
}
}The controller stays thin and delegates to the service layer, which is what makes the API testable.
My introduction to a properly layered backend: controller, service and model separated, with a REST API the front end talks to over a thin client wrapper rather than scattering fetch calls through components.
The React front end handles the full CRUD surface with a drawer-based form and notification handling. The deployment configuration is the part I learned most from — containerising both halves and configuring Elastic Beanstalk to run them was my first experience of the gap between code that works locally and code that is deployed.
What it does
- Layered Spring Boot architecture with a clean controller and service split
- React front end talking to the API through a single client module
- Docker Compose packaging targeting AWS Elastic Beanstalk