Skip to content

The open source software to build cool stuff with locomotion

License

Notifications You must be signed in to change notification settings

xavierraffin/navitia

 
 

Repository files navigation

navitia

(pronounce [navi-sia])

build status

Presentation

Welcome to the Navitia repository. Navitia is a service providing:

  1. multi-modal journeys computation
  2. line schedules
  3. next departures
  4. explore public transport data
  5. sexy things such as isochrones

The API can be found at http://api.navitia.io/

For more information see

Organisation

At the root of the repository, several directories can be found:

  1. source: contains the navitia source code (c++ and python)
  2. third_party: third party developped modules
  3. documentation: all the navitia documentation
  4. (debug|release): by convention, the build repositories

Architecture overview

Navitia is made of 3 main modules:

  1. Kraken is the c++ core
  2. Jörmungandr is the python frontend
  3. Ed is the postgres database

Kraken and Jörmungandr communicate with each other through protocol buffer messages send by ZMQ.

Transportation data (in the GTFS format) or routing data (from OpenStreetMap for the moment) can be given to Ed. Ed produces a binary file used by Kraken.

documentation/diagrams/Navitia_simple_architecture.png

More information here: https://github.com/CanalTP/navitia/wiki/Architecture

Tools

  1. Gcc as the C++ compiler (g++)
  2. Cmake for the build system
  3. Python for the api

Installation

For the installation procedure, please refer to the installation documentation

Want to use Docker? Try this documentation https://github.com/CanalTP/navitia/wiki/Navitia-in-Docker-containers

You can also refer to the automated build script to have a step by step setup guide for ubuntu 14.04

How to contribute

Fork the github repo, create a new branch from dev, and submit your pull request!

Are there many people contributing? Yes: https://www.youtube.com/watch?v=GOLfMTMGVFI

Alternatives?

Navitia is written in python/c++, here are some alternatives:

About

The open source software to build cool stuff with locomotion

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 63.2%
  • Python 35.3%
  • CMake 1.0%
  • Shell 0.3%
  • PLpgSQL 0.2%
  • Mako 0.0%