blob: ef4764ddf9275ae3218b46a7484f87ce6429d871 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Tracktrain
*experimental, don't expect things to work for now*
A thing to track trains via GPS (eventually), generating real-time data for use
in e.g. passenger information systems. Timetables are read in via GTFS.
## Server
I run a test-deployment of this at (tracktrain.stuebinm.eu)[https://tracktrain.stuebinm.eu].
It self-generates an OpenAPI description of the currently implemented routes at
(`/api`)[https://tracktrain.stuebinm.eu/debug/openapi].
## Packages & Modules
This project is split into a few haskell packages:
- the tracktrain executable in `app/`, handling startup & config
- the tracktrain library implementing the business logic in `lib/`
- the gtfs realtime library (generated with `hprotoc` from the gtfs realtime
proto file, along with a very little glue code in `Servant.GTFS.Realtime`)
in `gtfs/`
- that's it for now, but there'll probably be more
|