repowisemotis-project/motis

Architecture of motis-project/motis

motis-project/motis is 460 source files holding 2,813 symbols across 7 modules, written mainly in C++, Svelte, TypeScript. The largest module is ui, with 149 files, and 5 files are entry points into the dependency graph.

How motis fits together

Input enters as an osm.pbf street network, GTFS or NeTEx timetables, real-time GTFS-RT or SIRI feeds, and GBFS sharing mobility feeds. exe/main.cc is the executable entry point. src/server.cc and include/motis/server.h define the HTTP server. src/endpoints/routing.cc contains the routing endpoints, and src/gbfs/update.cc contains the GBFS update logic. The include directory holds the headers and the src directory holds the implementation. The ui/src/routes/+page.svelte file is the Svelte web interface, which uses the generated client code under ui/api.

Largest modules

  • ui: 149 files and 14,419 lines of code
  • include: 121 files and 5,337 lines of code
  • src: 99 files and 20,196 lines of code
  • test: 44 files and 12,800 lines of code
  • exe: 7 files and 1,594 lines of code
  • tools: 3 files and 767 lines of code
  • root: 1 file and 10 lines of code

Languages

By file count: C++ 271 files, Svelte 83 files, TypeScript 61 files, JavaScript 5 files, Python 2 files, Dockerfile 1 file.

Documentation

Repowise documents motis in 554 pages generated from the source.

More on motis: summary and FAQ, codebase overview, code health.