36 lines
1.4 KiB
Markdown
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.
|
|
|