How nilimkr/jeevone works
JEEVONE is an offline edge health-monitoring service. Sensor readings arrive over MQTT, pass through validation and normalization, are persisted and processed into features and risk assessments, then drive alerts and local API/dashboard updates. The graph preserves the README’s major product stages and capabilities. Pipeline orchestration is visible only in partial excerpts; documented but unsampled links are identified as such rather than treated as inspected implementation.
Main entry points: main.py Pipeline Orchestrator · routes.py REST API · features.py Feature Extraction · config_loader.py Configuration
Components 25
Sensor Ingestion
- MQTT Client
app/mqtt/client.py - Payload Validator
app/ingestion/validator.py - Reading Normalizer
app/ingestion/normalizer.py - Ingestion Processor
app/ingestion/processor.py
Health Analysis
- Pipeline Orchestrator
app/main.py - Sliding Windows
app/processing/windows.py - Personal Baseline
app/processing/baseline.py - Feature Extraction
app/processing/features.py - Heat Risk
app/risk/heat.py - Vital Risk
app/risk/vital.py - Respiratory Risk
app/risk/respiratory.py - Risk Fusion
app/risk/fusion.py - Recommendations
app/risk/recommendations.py
State and Storage
- In-memory Pipeline State
app/pipeline_state.py - SQLite Database
app/storage/database.py - Storage Repository
app/storage/repository.py - Storage Models
app/storage/models.py - Configuration
app/config_loader.py
Local Delivery
- Alert Manager
app/alerts/manager.py - REST API
app/api/routes.py - Live Update Stream
app/api/websocket.py - Local Dashboard
dashboard/templates/index.html
Other components
- Health Sensors
- ESP32 Gateway
esp32/ESP32_Gateway.ino - MQTT Broker
Connections 40
- Health Sensors → ESP32 Gateway: provide readings
README.md - ESP32 Gateway → MQTT Broker: publishes MQTT
README.md - MQTT Broker → MQTT Client: delivers messages
README.md - MQTT Client → Pipeline Orchestrator: message callback
README.md - Pipeline Orchestrator → Ingestion Processor: processes payload
app/main.py - Ingestion Processor → Payload Validator: validates payload
app/ingestion/processor.py - Ingestion Processor → Reading Normalizer: normalizes payload
app/ingestion/processor.py - Pipeline Orchestrator → Storage Repository: stores reading
app/main.py - Pipeline Orchestrator → Sliding Windows: updates windows
app/main.py - Pipeline Orchestrator → Personal Baseline: updates baseline
app/main.py - Pipeline Orchestrator → Feature Extraction: computes features
app/main.py - Feature Extraction → Sliding Windows: reads windows
app/processing/features.py - Feature Extraction → Personal Baseline: uses baseline
app/processing/features.py - Pipeline Orchestrator → Heat Risk: assesses heat
app/main.py - Pipeline Orchestrator → Vital Risk: assesses vitals
app/main.py - Pipeline Orchestrator → Respiratory Risk: assesses respiration
app/main.py - Heat Risk → Feature Extraction: reads features
app/risk/heat.py - Vital Risk → Feature Extraction: reads features
app/risk/vital.py - Respiratory Risk → Feature Extraction: reads features
app/risk/respiratory.py - Pipeline Orchestrator → Risk Fusion: combines risks
app/main.py - Risk Fusion → Recommendations: gets recommendation
app/risk/fusion.py - Pipeline Orchestrator → Storage Repository: stores risk state
app/main.py - Pipeline Orchestrator → In-memory Pipeline State: updates snapshot
app/main.py - Risk Fusion → Alert Manager: triggers alerts
README.md - Pipeline Orchestrator → SQLite Database: initializes database
app/main.py - Storage Repository → SQLite Database: opens sessions
app/storage/repository.py - SQLite Database → Storage Models: creates tables
app/storage/database.py - REST API → In-memory Pipeline State: reads snapshot
app/api/routes.py - REST API → Storage Repository: reads history
app/api/routes.py - REST API → Personal Baseline: reads baseline
app/api/routes.py - REST API → Alert Manager: reads alert history
app/api/routes.py - In-memory Pipeline State → Live Update Stream: shares update state
app/api/websocket.py - Pipeline Orchestrator → REST API: registers routes
app/main.py - Pipeline Orchestrator → Live Update Stream: registers stream
app/main.py - REST API → Local Dashboard: serves dashboard data
README.md - Live Update Stream → Local Dashboard: pushes live updates
README.md - Configuration → MQTT Client: configures client
app/mqtt/client.py - Configuration → Payload Validator: configures checks
app/ingestion/validator.py - Configuration → Personal Baseline: configures baseline
app/processing/baseline.py - Configuration → SQLite Database: configures database
app/storage/database.py