A Swiss public transport route search application built in Java, developed as part of the CS-108 course at EPFL.
ReCHor finds optimal routes between any two stops in the Swiss public transport network, similar to cff.ch or search.ch. It works entirely offline using pre-downloaded official Swiss timetable data — no internet connection required.
Given a departure stop, an arrival stop, a date, and a time, ReCHor returns a set of Pareto-optimal journeys optimized simultaneously on:
- Departure time
- Arrival time
- Number of transfers
- Offline route search using official Swiss public transport timetable data
- Pareto-optimal results (no proposed journey is strictly worse than another on all criteria)
- Interactive GUI showing full journey list and detailed step-by-step breakdown
- Map visualization via uMap (OpenStreetMap Switzerland)
- Export journeys to iCalendar format for import into any calendar app (macOS Calendar, Google Calendar, etc.)
- Java (version 21 or higher)
Clone the repo then run Main.java, and an app will open.
Usage
- Enter a departure stop and an arrival stop
- Select a date and departure time
- Browse the list of Pareto-optimal journeys on the left panel
- Click a journey to see detailed steps on the right panel
- Optionally:
- Click Map to visualize the route on uMap - Click Export to save the journey as an .ics file
Course
CS-108 — Practice of Object-Oriented Programming
École Polytechnique Fédérale de Lausanne (EPFL)