Start spec

Signed-off-by: AKP <tom@tdpain.net>
This commit is contained in:
akp 2023-02-07 16:15:37 +00:00
parent 17bb6acfc6
commit 3f2a209bb9
No known key found for this signature in database
GPG key ID: AA5726202C8879B7

27
docs/spec.md Normal file
View file

@ -0,0 +1,27 @@
# Untitled Realtime Train Map
*we should probably work out a name lol*
## Overview
The project is to create a map that shows the real-time locations of selected trains on the Network Rail network in the UK.
For a given train it should display the current interpolated location of the train, any stations that it will call at and the approximate route that it'll take.
Aspirationally, it should be able to track multiple trains at any one time, with the option to show *all* trains on the network.
## Data sources
The Project will source data from multiple Network Rail Open Data Feeds:
* [Train Movements](https://wiki.openraildata.com/index.php?title=Train_Movements) or [TD](https://wiki.openraildata.com/index.php?title=TD) feed (which one is TBC) will be used to retrieve the real-time location of trains on the Network Rail network.
* [SCHEDULE](https://wiki.openraildata.com/index.php?title=SCHEDULE) will be used to retrieve train scheduling information.
Additionally, the project will make use of the [OpenStreeMap Overpass API](https://wiki.openstreetmap.org/wiki/Overpass_API) to source data about track layout. It may also be used to find station locations.
## Architecture
In addition to a Redis database, there are three main components to the project:
* A data processing application that consumes the real-time feeds supplied by Network Rail
* A Python API server that powers the frontend application
* The frontend JavaScript application