The OwlBoard API Server & Hub Repo for all issues
Go to file
Fred Boniface 4d2262f349 Re-patch db connection
Signed-off-by: Fred Boniface <fred@fjla.uk>
2024-11-22 21:17:07 +00:00
.test-tools
.vscode
mail-templates Update mail templates to try and avoid junk filtering 2024-07-05 10:11:01 +01:00
src Re-patch db connection 2024-11-22 21:17:07 +00:00
test/utils
.dockerignore
.eslintrc.js
.gitignore
.npmrc
app.js
Dockerfile
jest.config.js
LICENSE
package-lock.json Add find nearest feature 2024-06-30 21:23:22 +01:00
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.