Oncology Quest
Connell Reffo
overview
Oncology Quest is a web app designed to support Medical Oncology trainees by tracking their progress throughout various rotations. It also provides rotation directors with a secure and accessible way to monitor trainee progression and update the rotation structure as needed.
It was in use by 6+ trainees and 2 rotation directors at the Tom Baker Cancer Centre.
key_features
Trainees are able to access any existing rotations, mark tasks as complete or in progress, leave comments on tasks, and view their progress in a visual format. Additionally, they can also export progress reports in PDF format and delete their account if needed.
Admins can create and delete rotations, add and remove tasks from rotations, and manage trainee accounts. Management for trainee accounts includes the ability to view their progress, export their progress, generate password reset tokens, and delete their account.
technical_highlights
Performance optimizations include caching and memoization of frequently accessed data to reduce server load and improve load times.
Security features include password hashing with BCRYPT and salting with a random 64-bit integer, rate limiting on sensitive routes, user authentication with JWT, input sanitization with REGEX, requests secured with HTTPS, and appropriate CORS policies are in place.
testing_integrity
Automated testing is done with a seperate client that sends requests to the API and checks the responses. The tests are run within a Github Actions workflow.
Container orchestration is used to execute these tests via Docker Compose. The containers used are: API, Database (PostgreSQL), and Test Client.
Manual testing is done by me to ensure that the app is functioning and appearing as expected.
deployment
The web app is deployed as a single container on AWS ECS with a PostgreSQL database. A monolithic architecture was chosen to simplify deployment and reduce costs.
images
Below are some screenshots of the web app.





