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.
OwlBoard/README.md
2022-12-02 12:25:48 +00:00

36 lines
1.4 KiB
Markdown

# 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.