I created a route finder for the London Underground for my Computer Science A-Level Non-exam assessment.
The program was made in Java and uses regular expressions, hashing, SQL, a local database, the Transport for London API, and Dijkstra's algorithm for path finding.
The design documents that went with the program are below: