Giter Club home page Giter Club logo

navitia's Introduction

navitia

Navitia

(pronounce [navi-sia])

Version Build status License Chat
version Last build license chat

Presentation

Welcome to the Navitia repository !

Navitia is a webservice providing:

  1. multi-modal journeys computation
  2. line schedules
  3. next departures
  4. exploration of public transport data
  5. search & autocomplete on places
  6. sexy things such as isochrones

Approach

Navitia is an open-source web API, initially built to provide traveler information on urban transportation networks.

Its main purpose is to provide day-to-day informations to travelers.
Over time, Navitia has been able to do way more, sometimes for technical and debuging purpose or because other functional needs fit quite well in what Navitia can do or just because it was quite easy and super cool.

Technically, Navitia is a HATEOAS API that returns JSON formated results.

Who's who

Navitia is instanciated and exposed publicly through api.navitia.io.
Developments on Navitia are lead by Kisio Digital (previously CanalTP).
Kisio Digital is a subsidiary of Keolis (itself a subsidiary of SNCF, French national railway company).

More information

Getting started

Want to test the API ?

The easiest way to do this is a to go to navitia.io.
Signup, grab a token, read the doc and start using 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 ?

docker

The easiest way to have your own navitia is to use the navitia docker-compose.

fabric
If you don't want to use the prebuilt docker images you can use the fabric scripts we use to deploy to api.navitia.io.
⚠️ WARNING ⚠️ Those scripts should be usable, but they are not meant to be completely generic and are designed for our own servers architecture.
Use this only if the docker does not suit your needs and if you are an experienced user 😉

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? ⏯️ https://www.youtube.com/watch?v=GOLfMTMGVFI

Architecture overview

Navitia is made of 3 main modules:

  1. Kraken is the c++ core (Heavy computation)
  2. Jörmungandr is the python frontend (Webservice and lighter computation)
  3. Ed is the postgres database (Used for preliminary binarization)

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

Transportation data (in the NTFS, or GTFS format) or routing data (mainly 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

Alternatives?

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

navitia's People

Contributors

alcalyn avatar antoine-de avatar aurelienlp avatar azime avatar baptisteb-a avatar benoit-bst avatar crocme10 avatar djludo avatar grosmytho avatar guikcd avatar guillaumelescure avatar kinnou02 avatar koch-t avatar l-vincent-l avatar lrochewb avatar mbounabi avatar mergify[bot] avatar netmisa avatar nlehuby avatar nonifier avatar ooga avatar pbench avatar pthegner avatar stifoon avatar texitoi avatar thiphariel avatar vpassama avatar xavierraffin avatar xlqian avatar zoebrunet avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.