Arkadia is a project to monitor home environment conditions like temperature, pressure, humidity, and air quality. The goal is to practice working with sensors and various software architecture patterns. All services and sensors are currently running on a single Raspberry Pi 5.
Arkadia is named after the base camp of the Skaikru people in the TV show "The 100".
cd services
docker compose upUnit tests are available for most services by adding
-teststo the service name. For example,docker compose run tph-testswill run the unit tests for the tph service.
This service measures temperature, prressure and humidity using a BME280 sensor and a Raspberry Pi. It periodically samples sensor data and stores the median values in a Redis cache.
docker compose run tphThis service is a simple FastAPI application that exposes sensor data via a REST API.
docker compose run dataThe API documentation is available at http://localhost:8000/docs. There is currently only one endpoint — the endpoint that retrieves tph data.
This service is a React application that displays sensor data.
docker compose run webAn example screenshot of the web application: