Ronda
Java 21Spring BootAngular 19PostgreSQLJWT
Ronda grew out of a problem I know first-hand from my background as a hospital psychologist: healthcare teams scheduled without minimum rest between shifts. The backend (Java 21, Spring Boot 3.4.5, PostgreSQL, JWT authentication) validates scheduling rules against every existing assignment, checking for time overlaps and enforcing a configurable minimum rest period between shifts (11 hours by default), returning specific conflict messages via HTTP 409 responses. The Angular 19 frontend, built with standalone components and Angular Material 3, covers authentication, the scheduling calendar, and the staff-management interface, completing the flow end to end.