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.