Skip to content

topongo/bruss

Repository files navigation

Bruss

Rust-based web app for visually tracking busses of the city of Trento. Interactive map for visual tracking of busses, with their trips, the current location and delay.

The data is provided by Trentino Trasporti (TT) using the bruss_tt crate, fetches data from their APIs. The data is processed through the bruss_grind tool that interpolates bus routes, provide schedules and organizes the map data.

An application is provided for consulting the actual location and delay of each bus, the application components are:

After some data gathering, an analysis on the will be done, it will involve the average delay for every line of busses, based on their location, on the hour of day and the day of the week. This will maybe help understanding how the delay is generated and how the city traffic affect the public transportation service.

Project by Lorenzo Bodini, for bachelor degree internship.

TODOs

Meta

  • Choose a name for the application
  • Create repo and project structure

Structure

  • Define components
  • Choose programming components

Components

  • TT: bruss_tt (rust) HTTP client tailored to work with TT APIs, including serialization of the incoming data and a better representation of it.
  • Router: bruss_router (rust) Data processor, it uses TT for getting static (like Areas and Stops) and dynamic (like Trips) from the official servers, it then proceeds to process the data, mainly calculating the segments that connect the right stops using a custom instance of OSRM (Open Source Routing Machine).
  • OSRM: bruss_osrm Docker files and scripts to run a custom instance of OSRM, configured to be able to calculate bus and train paths, that do not necessarily follow standard traffic rules.
  • App
  • Data Analyzer
    • Analyzer: TBD (rust)
    • Visualizer: TBD (rust / egui?)

Docs

  • Write inline documentation for all components

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages