|
||
---|---|---|
.test-tools | ||
.vscode | ||
mail-templates | ||
src | ||
test/utils | ||
.dockerignore | ||
.eslintrc.js | ||
.gitignore | ||
.npmrc | ||
app.js | ||
Dockerfile | ||
jest.config.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
OwlBoard
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.
Build
To build the application with Docker, clone the repository and run docker build
API Endpoints:
API Documentation has been removed as it is now out of date. I do intent to re-write the documentation at a later date.
Configuration:
Configuration options are set through environment variables. These configuration options are shared with other programs in the OwlBoard ecosystem.
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 | |
OWL_LDB_CORPUSUSER | YES | Network Rail NROD Username | |
OWL_LDB_CORPUSPASS | YES | Network Rail NROD Password | |
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.
Database
OwlBoard uses MongoDB
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.