From 74fe18742f05acfdb11372d03e3977f258e191b2 Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Thu, 8 Dec 2022 21:22:01 +0000 Subject: [PATCH] update readme --- README.md | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3afcf3d..b6efd73 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,54 @@ # 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. 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: - - To be updated + - See CSS Variables ## 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"}` + - If `Authentication: Basic` header is provided your key will be checked, if not then just the conenction will be tested. - /list: - GET: Get list of stations + - Request Header - Basic Auth -- Not Currently Implemented/Required on this route - Returns JSON: `{"STATION NAME":{"CRS":"code","TIPLOC":"code"}}` - /ldb: - /{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: - app.js -> Launches server, Entry Point, defines routers and middlewares.