update readme
This commit is contained in:
parent
7d9b447b28
commit
74fe18742f
35
README.md
35
README.md
@ -1,31 +1,54 @@
|
|||||||
# OwlBoard
|
# OwlBoard
|
||||||
|
|
||||||
OwlBoard is the backend API that powers the Athena web application at athena.fb-infra.uk.
|
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.
|
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.
|
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.
|
||||||
|
|
||||||
|
The webservice (owlboard.fb-infra.uk) may contain ads to support the running of the service,
|
||||||
|
if ads are implemented, I intend to avoid 'dubious' advertisers that target and track users.
|
||||||
|
|
||||||
|
Currently only the public API is available as I am currently unable to request a key for the staff version.
|
||||||
|
|
||||||
|
## Requirements:
|
||||||
|
|
||||||
|
To run this server you will need:
|
||||||
|
- NodeJS
|
||||||
|
- Caching Reverse Proxy Server
|
||||||
|
- Not strictly neccessary but improves performance
|
||||||
|
- Do not cache anything on the /api/ path, API caching is done internally
|
||||||
|
- PostgreSQL Server
|
||||||
|
- Create a database and user for OwlBoard:
|
||||||
|
- DB Name: owlboard
|
||||||
|
- DB User: owlboard
|
||||||
|
- DB Pass: owlboard
|
||||||
|
- Default Name, User & Pass can be changed in /src/configs/database.configs.js
|
||||||
|
|
||||||
## WebApp Colours:
|
## WebApp Colours:
|
||||||
|
|
||||||
- To be updated
|
- See CSS Variables
|
||||||
|
|
||||||
## API Endpoints:
|
## API Endpoints:
|
||||||
- /api:
|
- /api:
|
||||||
- /test:
|
- /test:
|
||||||
- GET: Check your connection with the server
|
- GET: Check your connection with the server
|
||||||
- POST: Check your auth key
|
- If `Authentication: Basic` header is provided your key will be checked, if not then just the conenction will be tested.
|
||||||
- Request Body JSON: `{"auth":""}`
|
|
||||||
- Returns JSON: `{"auth":"true/false"}`
|
|
||||||
|
|
||||||
- /list:
|
- /list:
|
||||||
- GET: Get list of stations
|
- GET: Get list of stations
|
||||||
|
- Request Header - Basic Auth -- Not Currently Implemented/Required on this route
|
||||||
- Returns JSON: `{"STATION NAME":{"CRS":"code","TIPLOC":"code"}}`
|
- Returns JSON: `{"STATION NAME":{"CRS":"code","TIPLOC":"code"}}`
|
||||||
|
|
||||||
- /ldb:
|
- /ldb:
|
||||||
- /{crs}:
|
- /{crs}:
|
||||||
- GET: Get departure board for {crs}
|
- GET: Get departure board for {crs}
|
||||||
- Returns JSON: Formatted as per ldb-json module.
|
- Request Header - Basic Auth -- Not Currently Implemented/Required on this route
|
||||||
|
- Returns JSON: Formatted as per ldbs-json module.
|
||||||
|
|
||||||
|
- /gitea:
|
||||||
|
- POST: Post issue to Gitea Repo
|
||||||
|
- Not yet implemented, submit issues at https://git.fjla.uk/fred.boniface/owlboard
|
||||||
|
|
||||||
## Stack:
|
## Stack:
|
||||||
- app.js -> Launches server, Entry Point, defines routers and middlewares.
|
- app.js -> Launches server, Entry Point, defines routers and middlewares.
|
||||||
|
Reference in New Issue
Block a user