Quick Overview
1 min read
PocketClinic offers software solutions to existing medical clinics.
- Much like HotDoc, PocketClinic provides clinics with a user-centric patient booking system.
- In addition, PocketClinic provides a telehealth service powered by our live chat service, which has been developed from the ground up using WebSockets.
- PocketClinic also provides a centralised file storage solution complete with sharing permissions. Notably, file sharing was purely implemented relationally, with database table relations dictating file access.
Microservice Architecture

- Due to its complexity and modular requirements, a microservice solution was elected as the project's architecture.
- All API endpoints were secured by our own authentication system using JWT.
- Nginx was used to balance and distribute traffic across our AWS instances.
- Backend Services were written in Spring Boot (Kotlin + Java). Frontend interfaces utilised Flutter.
Continuous Delivery

- Commits to the ‘main’ GitHub branch triggered an internal AWS workflow.
- Before merging with the deployment branch, a GitHub workflow CI pipeline tested the submitted code with pre-written tests.
- This process involved the following:
- Code was downloaded from the triggered GitHub branch and onto AWS servers.
- The code was then built via a custom AWS build script, and the resulting .jar was archived into a selected S3 bucket.
- The .jar was then pulled, and a custom AWS deploy script updated running instances with a freshly launched Docker container.
- To maintain availability, updates were done to a subset of instances at a time.
- Major steps across the pipeline were monitored and logged via AWS Cloudwatch.
[email protected]