A collection of microservices to surface scheduled and real-time departure data for use through an API gateway.
An AWS Lambda function that retrieves scheduled and real-time departure data from OPTIS using the request/response methodology. Once the data has been retrieved, it filters out any non-departure records and publishes the useful data to an AWS SNS topic, which other services can then subscribe to.
An AWS Lambda function that takes data produced by the OPTIS Poller and stores it on a Redis cache.
An AWS Lambda function that reads data produced by the Ingester from the Redis cache, filtering out any expired records, before returning it in a simplified JSON format.
An AWS Lambda function that downloads the NaPTAN CSV dataset and stores the relationship between stops and stop areas in a Redis cache. (i.e. which stands are in which bus station)
An AWS Lambda function that downloads the NaPTAN CSV dataset and stores the relationship between stops and locality names in a Redis cache.
An AWS Lambda function that downloads the zipped TransXChange dataset from AWS S3 and stores the service description for circular services in a Redis cache.
An unused AWS Lambda function that downloads the NaPTAN CSV dataset and stores the relationship between National Rail CRS codes and ATCO codes in a Redis cache.
An AWS Lambda function that retrieves rail departure boards for a provided station. Once the data has been retrieved, it undergoes some transformation before being published to an AWS SNS topic, which other services can then subscribe to.
An AWS Lambda function that takes data produced by the Rail Departures Board Poller and stores it on a Redis cache.
The logging implementation consists of a simple wrapper around the default Go log package. The wrapper adds functions for debug output, which can be enabled by adding a build flag.
Automatically deployed to Development than choose to deploy onto NFT and PRD