Welcome to the Navitia repository !
Navitia is a webservice providing:
- multi-modal journeys computation
- line schedules
- next departures
- exploration of public transport data
- search & autocomplete on places
- sexy things such as isochrones
- main web site https://www.navitia.io
- playground https://canaltp.github.io/navitia-playground/
- integration documentation https://doc.navitia.io
- technical documentation https://github.com/CanalTP/navitia/tree/dev/documentation/rfc
- twitter @navitia https://twitter.com/navitia
- google groups navitia https://groups.google.com/d/forum/navitia
- channel #navitia on matrix/element https://app.element.io/#/room/#navitia:matrix.org
Want to test the API ?
For a more friendly interface you can use the API through navitia playground (no matter the server used).
Want to use you own datasets or infrastructure ?
The easiest way to have your own navitia is to use the navitia docker-compose.
Want to dev and contribute to navitia ?
If you want to build navitia, develop in it or read more about technical details please refer to CONTRIBUTING.md.
Curious of who's contributing?
Navitia is made of 3 main modules:
- Kraken is the c++ core (Heavy computation)
- Jörmungandr is the python frontend (Webservice and lighter computation)
- Ed is the postgres database (Used for preliminary binarization)
Kraken and Jörmungandr communicate with each other through protocol buffer messages send by ZMQ.
More information here: https://github.com/CanalTP/navitia/wiki/Architecture
Navitia is written in C++ / python, here are some alternatives:
- OpenTripPlanner : written in java.More information here https://github.com/CanalTP/navitia/wiki/OpenTripPlanner-and-Navitia-comparison.
rrrr : the lightest one, written in python/c
Synthese : full stack, with CMS, written all in C++
Mumoro : a R&D MUltiModal MUltiObjective ROuting algorithm