How vlad12-k/oncovax-iot-platform works
OncoVax monitors simulated cold-storage devices: telemetry is published over MQTT, normalized and checked for temperature excursions, then persisted for observability and operator handling. Operators review and acknowledge alerts through the dashboard and API. Optional Node-RED controls can change simulator scenarios and inject temporary events. The main runtime and control links are supported by the README and sampled source; unsampled subsystem internals are represented only at documented boundaries.
Main entry points: mosquitto.conf MQTT broker · worker.py Telemetry worker · main.py FastAPI service · app.js Operator dashboard
Components 15
Telemetry pipeline
- Simulated fleet
services/simulator/main.py - MQTT broker
infra/mosquitto/mosquitto.conf - Telemetry worker
services/worker/worker.py - Normalize and validate
services/worker/worker.py - Excursion detection
services/worker/worker.py - InfluxDB
Alert operations
- MongoDB alerts
- FastAPI service
services/api/main.py - Alert workflows
services/api/routes/alerts.py - Operator dashboard
services/web/app.js
Simulator control
- Node-RED controls
flows/nodered - Orchestration adapter
services/orchestration_adapter/main.py - Runtime controller
services/simulator/runtime_control.py
Observability
- Grafana dashboards
grafana/dashboards/oncovax-observability-final.v1.json
Other components
- Operator
Connections 17
- Simulated fleet → MQTT broker: publishes telemetry
- MQTT broker → Telemetry worker: dispatches telemetry
- Telemetry worker → Normalize and validate: processes payload
- Normalize and validate → Excursion detection: evaluates records
- Telemetry worker → InfluxDB: writes telemetry and alerts
- Telemetry worker → MongoDB alerts: inserts alert records
- Grafana dashboards → InfluxDB: queries metrics
- Operator → Operator dashboard: reviews alerts
- Operator dashboard → FastAPI service: requests and acknowledges
- FastAPI service → Alert workflows: dispatches requests
- Alert workflows → MongoDB alerts: reads and updates alerts
- FastAPI service → Operator dashboard: serves dashboard
- Node-RED controls → MQTT broker: publishes controls
- MQTT broker → Orchestration adapter: dispatches controls
- Orchestration adapter → MQTT broker: publishes mapped commands
- MQTT broker → Runtime controller: dispatches runtime commands
- Runtime controller → Simulated fleet: controls scenario generation