A web service built using Java and Spring Boot while following the Test-Driven Development approach. Additionally, a CI/CD pipeline was configured using Git and GitHub Actions and hosted on the Render hosting provider using Docker.
The web service connects to an external Maternity API and exposes 4 endpoints which process and manipulate the maternity data:
- /patients-by-employee/{id} - Get a list of patients seen by a specific employee.
- /discharged-within-3-days - Get a list of patients which were discharged within 3 days of admission.
- /day-with-most-admissions - Get the day of the week which has the most admissions.
- /avg-patient-time/{id} - Get the average admission patient duration for a specific employee.
The web service includes a suite of automated unit, integration and functional tests achieving 97% line coverage.
GitHub's rules and actions have been configured to test the code on every pull request, only allowing to merge if the action is completed successfully. Once new code is merged to the master branch a deployment action is triggered which instructs Render to build the Docker container and run it.
- Git
- GitHub & GitHub Actions
- Render Hosting Provider
- Docker
- Java
- Spring Boot