Overview
A Java-based public transport routing algorithm for Maastricht city using GTFS data, with a JavaFX interface to visualize optimal routes between locations. The interactive demo above is a simplified, browser-side re-creation of the router with placeholder data. The real engine runs on the full GTFS feed and a tuned MySQL schema.
What I Built
A database-driven solution with MySQL to efficiently store and query public transport data. Restructuring and indexing the schema (normalised design plus targeted indexes on high-traffic columns) cut routing-query latency by 40%. SQL schemas were configured and managed specifically to optimize query performance for routing calculations.
Engineering Practice
- Git workflows with feature branches and pull-request reviews, deploying across dedicated test, acceptance, and production environments
- Docker containerization for consistent deployment across environments
- Comprehensive unit testing with JUnit (JaCoCo coverage) validating algorithm accuracy and performance
Tech Stack
- Core: Java JDK 21, Maven 3.6, Graphhopper Library
- UI: JavaFX
- Data & infra: MySQL, Docker, JUnit 5, JaCoCo, Git