Backend service powering the Mission Control dashboard
- Make sure you have docker and docker-compose
- docker-compose up
- make fixtures
The main web service is available at localhost:8000/api/aggregates/ and it accepts 2 query parameters:
- measurements: list
- dimensions: list
Every other query parameter matching one of the dimension names will be considered as a filter over that dimension. The only types of filter supported are exact match and range comparison. Single-valued query parameters are interpreted as exact matches, while multi-value parameters are interpreted as range comparison. In the example below,
countryis an exact match, whileversionis a range comparison.
Example query string: dimensions=os_name&dimensions=os_version&dimensions=country&measurements=main_crashes&country=GB
The target environment for this project follows the dockerflow conventions. In order to run it correctly, a number of environment variables needs to be set up. The full list of variables can be found in the web section of the docker-compose.yml file. From a services standpoint, this project requires:
- a Postgres db to store the application data, defined by DATABASE_URL
- a Presto/Athena service, defined by PRESTO_URL
- an optional Redis cache service, defined by CACHE_URL