Database layer
- Designed the persistence layer for simulation metadata, results and event logs using Spring Data JPA and PostgreSQL.
A full-stack airport operations simulator developed for a Dorset Software project brief, modelling aircraft arrivals, departures, emergency landings, runway closures and diversions through a concurrent Java backend and configurable web interface.
BUILT WITH
THE PROBLEM
Airports need to manage aircraft arrivals, departures and unexpected disruptions while maintaining safe runway operations. We developed a configurable simulation system to model different airport conditions, evaluate scheduling decisions and analyse their impact through operational metrics and event logs.
THE HARD PARTS
Worked across three tightly coupled backend layers, ensuring simulation state, persistent data and REST responses integrated correctly. Implemented offset-based event-log pagination to support large simulation outputs without overwhelming the frontend, and helped investigate a late-stage simulation defect under tight delivery deadlines.
WHAT I BUILT
Developed core backend components using Java, Spring Boot, Spring Data JPA and PostgreSQL. Designed the database persistence layer for simulation metadata, results and event logs; implemented aircraft and runway configuration functions within the simulation engine; and built three REST endpoints for simulation status, results and paginated event-log retrieval.
The wider system used a concurrent, event-driven simulation architecture with configurable runway modes, emergency-aware aircraft queues, fuel-based diversions and asynchronous execution.
MY CONTRIBUTION, LAYER BY LAYER