← All projects Download CV ↓

2026 · BACKEND ENGINEERING · TEAM PROJECT

Airport Simulation System

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.

5Agile development sprints
3backend layers contributed to
3REST endpoints personally implemented
5priority client requirements delivered

BUILT WITH

JavaSpring BootSpring Data JPAPostgreSQLREST APIsGitHub ActionsAgile / Scrum

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

Database layer

  • Designed the persistence layer for simulation metadata, results and event logs using Spring Data JPA and PostgreSQL.

Simulation engine

  • Implemented aircraft and runway configuration functions within the concurrent, event-driven simulation engine.

API layer

  • Built three REST endpoints for simulation status, results and event-log retrieval.
  • Implemented offset-based pagination so large event logs don't overwhelm the frontend.

How we worked

  • Followed an Agile/Scrum workflow across 5 sprints, with peer-reviewed pull requests, automated testing and GitHub Actions CI checks.