The problem
Route planning requires more than drawing a line on a map. The application must model road data, search a graph efficiently, compare alternatives, and present the result in a usable desktop interface.
Data structures and algorithms project
A desktop route-planning application that finds and displays shortest, fastest, alternative, and multi-stop routes using real road data.
Project overview
Route planning requires more than drawing a line on a map. The application must model road data, search a graph efficiently, compare alternatives, and present the result in a usable desktop interface.
Routify turns OpenStreetMap data into a local graph and uses custom data structures with Dijkstra and A* to calculate routes. A PyQt6 interface displays the results on an interactive map and supports alternative and multi-stop journeys.
03
04
05
Use Python 3.11 or newer, then clone the repository or download the ZIP.
git clone https://github.com/Ahmed-hesham2306/routify.git
cd routifyCreate a Python virtual environment and activate it in PowerShell.
python -m venv .venv
.venv\Scripts\Activate.ps1Install the dependencies and the project package.
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .Export a small area from OpenStreetMap, save it as data/export.osm, and process it.
python scripts/process_osm.py data/export.osmStart the graphical interface. You can also run the automated tests.
python -m routify --gui
pytest