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