- Website
- API
- Functions
We use pipenv as our python package dependency resolver for local development.
pipenv install --no-lock
Google Cloud Functions
Connector to the AirNow API where DAQ/EPA sensors are hosted. This runs every hour.
Connector to PurpleAir. This runs every 5 minutes.
Google Cloud Run - Docker containers
the backend api
the frontent website.
python create_services.py
will run you through the creation of all the services (besides Functions
and Cloud Run
because we do these manually)
telemetry.telemetry
: All time-series data is stored in this table. Sources are:
- AQ&U: AirU sensors publish data to a Mosquitto MQTT broker hosted at
air.eng.utah.edu
at the University of Utah. A service located at/home/becnel/aqandu-prod-mosquitto-bq-bridge
on the same server listens to the topicairu/influx
, ingests incoming data, and forwards it totelemetry.telemetry
.
internal.api_request_tracker
: All user API requests get logged here
internal.api_quota_history
: Stores the quota used by each API user.