This repository contains an aggregator REST API for multiple other services for air quality and temperature data in the UK, intended to be paired with the frontend. This service is responsible for making calls and formatting responses from these other services, making them easy to digest for the frontend.
%%{ init: { 'flowchart': { 'curve': 'stepAfter' } } }%%
graph
aggregator[Aggregator API]
frontend[Frontend application]
shim[DEFRA Shim service]
csvs[DEFRA CSVs]
predictions[Prediction service]
metadata[AURN station metadata]
aggregator --- |Historical temperature data| shim
aggregator --- |Historical PM2.5 data| csvs
aggregator --- |Future predictions from trained model| predictions
aggregator --- |Station metadata| metadata
frontend --- aggregator
- Frontend
- Aggregator (you are here)
- Predictions
- Metadata
- Shim
This service uses C#'s ASP.NET framework to provide a REST API for obtaining environmental data. Some key points of the implementation are:
- Service makes use of the MVC and strategy patterns
- Service uses "Service" classes to perform heavy-duty work, while controllers handle coordination of request details
- Integration and functional tests are performed using an in-memory MongoDB instance
- For: researchers and the public
- Who: need a better understanding of the climate crisis
- The: environmental data dashboard
- Is a: web application dashboard
- That: can make predictions for the future of the environment and display environmental data such as air pollution in an easy-to-understand format