2023-02-09 20:34:53 +00:00
# OwlBoard
2023-02-08 13:40:33 +00:00
2023-02-09 20:34:53 +00:00
OwlBoard is both a backend API, and a frontend Arrival/Departure board webapp.
Powered by Node.JS and using the ldbs-json module, the OwlBoard API provides up to date train departure information for any station in the UK.
2023-08-05 16:15:39 +01:00
## Build
2023-02-09 20:34:53 +00:00
2023-08-05 16:15:39 +01:00
To build the application with Docker, clone the repository and run `docker build`
2023-02-09 20:34:53 +00:00
## API Endpoints:
2023-08-05 16:15:39 +01:00
API Documentation has been removed as it is now out of date. I do intent to re-write the documentation at a later date.
2023-02-09 20:34:53 +00:00
## Configuration:
2023-08-05 16:15:39 +01:00
Configuration options are set through environment variables.
These configuration options are shared with other programs in the OwlBoard ecosystem.
2023-02-09 20:34:53 +00:00
|VAR|DEFAULT|REQUIRED|PURPOSE|
|:-:|:-----:|:------:|:-----:|
|OWL_SRV_PORT|8460|NO|Web Server Port|
|OWL_SRV_LISTEN|0.0.0.0|NO|Web Server Listen Address|
|OWL_DB_USER|owl|NO|Database Username|
|OWL_DB_PASS|twittwoo|NO|Database Password - Do not leave as default in production|
|OWL_DB_NAME|owlboard|NO|Database Name|
|OWL_DB_PORT|27017|NO|Database Server Port|
|OWL_DB_HOST|localhost|NO|Database Server Host|
|OWL_LDB_KEY||YES|National Rail LDBWS API Key|
|OWL_LDB_SVKEY||NO|National Rail LDBSVWS API Key|
2023-08-05 16:15:39 +01:00
|OWL_LDB_CORPUSUSER||YES|Network Rail NROD Username|
|OWL_LDB_CORPUSPASS||YES|Network Rail NROD Password|
2023-02-09 20:34:53 +00:00
|OWL_GIT_ISSUEBOT||NO|Gitea API Key for issue reporting|
|OWL_GIT_APIENDPOINT||NO|Gitea API Endpoint|
In the case that OWL_LDB_SVKEY is not available, staff versions of departure board, etc. will not be available.
In the case that OWL_GIT_ISSUEBOT is not available, the 'Report Issue' page will not be able to POST data.
2023-08-05 16:15:39 +01:00
## Database
2023-02-09 20:34:53 +00:00
2023-08-05 16:15:39 +01:00
OwlBoard uses MongoDB
2023-02-09 20:34:53 +00:00
2023-08-05 16:15:39 +01:00
The OwlBoard database is managed by the dbmanager application which will configure and maintain the database and should be run at least twice a day to ensure timetable data is up to date, see https://git.fjla.uk/owlboard/db-manager.