In isochronous routing in public transport networks, all accessible destinations are calculated from a starting station and colored according to the duration of the trip. The website direkt.bahn.guru implements such an isochronous routing, but only considers direct connections. chronotrains.com uses the same data to display all destinations that can be reached in 5 hours with transfers. However, neither the departure time is configurable nor real existing transfers are used. Instead, the website makes the unrealistic assumption that a connecting train always leaves exactly 20 minutes after one is arriving at a station.
The goal of this PSE project is to create a comparable website that takes into account all European long-distance connections. In addition to a starting station, a starting time can also be selected. In this way, real existing connections and transfers can be used for the calculation. The user should be able to set an upper limit for transfers and travel time. The travel time and the number of changes should be displayed visually.
The application should be programmed with a TypeScript font end and a C++, Rust, or Java backend and encapsulated in a Docker container.
For a very good grade, additional, optional, features must also be implemented, which will be determined with the students. Some examples:
- Local trains, cars, flights, ferries, or long-distance buses as additional means of transport.
- Selection of the departure station by mouse click
- Search within a time window (e.g. within a week or a month, only the fastest connection or the one with the fewest transfers is displayed).
- Performance improvement
- Search from several departure stations at the same time (e.g., all stations of Paris)
- Displaying the route while hovering the mouse cursor over the destination station
- Filtering for connections that allow bicycle transport