Skip to content

tim-cowley-tfgm/depservices

Repository files navigation

departures-service

A collection of microservices to surface scheduled and real-time departure data for use through an API gateway.

Bus departures

OPTIS Poller

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.

More information

Ingester

An AWS Lambda function that takes data produced by the OPTIS Poller and stores it on a Redis cache.

More information

Presenter

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.

More information

Stops In Area

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)

More information

Locality Names

An AWS Lambda function that downloads the NaPTAN CSV dataset and stores the relationship between stops and locality names in a Redis cache.

More information

Circular Services

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.

More information

Rail References

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.

More information

Rail Departures Board Poller

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.

More information

Rail Ingester

An AWS Lambda function that takes data produced by the Rail Departures Board Poller and stores it on a Redis cache.

More information

Logging

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.

More information

Deployment

Automatically deployed to Development than choose to deploy onto NFT and PRD

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published