How phanikatikala-cmd/minerva works
MINERVA is a mining-safety application for assessing zone hazards, tracking workers, and issuing targeted evacuation alerts. The principal workflow is telemetry assessment, risk inference and zone-state evaluation, then alert dispatch to affected on-duty workers; workers can view and acknowledge alerts or send SOS, while administrators manage mines, zones, workers, simulations, and analytics. The graph includes the documented inference and alert behavior, plus the frontend/API entry points. Several backend endpoint-to-service links and unsampled feature implementations are not shown because their wiring cannot be verified from the excerpts.
Main entry points: session.py Application database · routes.tsx Role routes · zone_risk_engine.py Zone risk engine · emergency_alert_engine.py Emergency alerts
Components 23
Web application
- Web app
frontend/src/App.tsx - Role routes
frontend/src/app/routes.tsx - Admin pages
frontend/src/pages - Worker pages
frontend/src/pages - Worker queries
frontend/src/features/workers/hooks/useWorkers.ts - Safety dashboard
frontend/src/features/workers/hooks/useWorkerDashboard.ts - HTTP client
frontend/src/services/apiClient.ts
API and operations
- FastAPI app
backend/app/main.py - API endpoints
backend/app/api/v1/endpoints
Hazard response
- Hazard inference
backend/app/services/inference_service.py - Zone risk engine
backend/app/services/zone_risk_engine.py - Emergency alerts
backend/app/services/emergency_alert_engine.py
Mine operations
- Worker services
backend/app/services/worker_service.py - Zone services
backend/app/services/zone_service.py - Mine services
backend/app/services/mine_service.py - Simulation
backend/app/services/simulation_service.py - Analytics
backend/app/api/v1/endpoints/analytics.py - Application database
backend/app/db/session.py
Modeling
- Classical training
backend/app/ml/classical_pipeline.py - Deep learning
backend/app/ml/deep_learning_pipeline.py
Other components
- Administrator
- Field worker
- Mine telemetry
Connections 25
- Administrator → Web app: uses
- Field worker → Web app: uses
- Web app → Role routes: renders
- Role routes → Admin pages: routes admins
- Role routes → Worker pages: routes workers
- Admin pages → Worker queries: manages workers
- Worker pages → Safety dashboard: loads safety view
- Worker queries → HTTP client: requests worker data
- Safety dashboard → HTTP client: requests dashboard
- HTTP client → FastAPI app: HTTP requests
- FastAPI app → API endpoints: mounts router
- Mine telemetry → API endpoints: submits readings
- API endpoints → Hazard inference: requests prediction
- Hazard inference → Zone risk engine: assesses risk
- Zone risk engine → Emergency alerts: dispatches hazard alerts
- Emergency alerts → Field worker: alerts and routes
- Field worker → Safety dashboard: views and acknowledges
- Zone risk engine → Application database: persists assessment
- Emergency alerts → Application database: stores alerts
- Worker services → Application database: reads and writes
- Zone services → Application database: reads and writes
- Mine services → Application database: reads and writes
- Simulation → Hazard inference: simulates prediction
- Analytics → Application database: queries operational data
- Classical training → Deep learning: alternative training