Backend API & Frontent UI for live departure board for UK Rail.
This repository has been archived on 2023-08-24. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Fred Boniface c4d668be81 Mainly frontend 2022-12-08 15:21:59 +00:00
src Mainly frontend 2022-12-08 15:21:59 +00:00
static Mainly frontend 2022-12-08 15:21:59 +00:00
tmp Add CORPUS data and temporary python script 2022-12-05 13:26:08 +00:00
.gitignore Initial commit 2022-11-29 19:28:24 +00:00
LICENSE General Development 2022-11-30 22:08:27 +00:00
README.md Update readme and add comments defining 2022-12-02 12:25:48 +00:00
app.js Add comments to file heads and imporove readability 2022-12-08 12:37:23 +00:00
package-lock.json Get CORPUS Data 2022-12-06 13:40:03 +00:00
package.json Get CORPUS Data 2022-12-06 13:40:03 +00:00

README.md

OwlBoard

OwlBoard is the backend API that powers the Athena web application at athena.fb-infra.uk.

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.

Whilst the application is open source, the webservice (owlboard.fb-infra.uk) is not openly available. National Rail Enquiries have limits on API access so to use this software yourself, you'll need to run your own instance after obtaining your own API key.

WebApp Colours:

  • To be updated

API Endpoints:

  • /api:
    • /test:

      • GET: Check your connection with the server
      • POST: Check your auth key
        • Request Body JSON: {"auth":""}
        • Returns JSON: {"auth":"true/false"}
    • /list:

      • GET: Get list of stations
        • Returns JSON: {"STATION NAME":{"CRS":"code","TIPLOC":"code"}}
    • /ldb:

Stack:

  • app.js -> Launches server, Entry Point, defines routers and middlewares.
    • routes -> Routers - Directs requests to controllers.

      • controllers -> Checks auth, sends response. Request doesn't pass further.
        • services -> Provide data and do tasks, uses other services and utils.
    • utils -> Provide utility functions that can be called by services.

    • configs -> Provide configuration details for other files.

    • static -> Holds files for static service, should be hosted behind a caching proxy.