How shravani01-clg/avighnaaa works
Avighnaaa is a mine-worker safety monitoring system: simulated or device sensor readings enter the backend, are validated and scored for hazards, anomalies, and falls, then are stored as predictions and alerts for dashboard retrieval. The backend also exposes device, worker, risk, and alert APIs. Separate JavaScript rule-based and Python ML analysis components are present, alongside a sensor simulator and browser frontend. The README provides no capability details; subsystem coverage follows the source index and tree, and unverified AI-service wiring is shown as optional.
Main entry points: sensorController.js Sensor Intake · sensorRoutes.js Sensor Routes · dataStore.js Data Store · index.js Simulator Runner
Components 27
Sensor Simulation
- Simulator Runner
simulator/index.js - Reading Generator
simulator/generator.js - Hazard Scenarios
simulator/scenarios.js - Simulator Config
simulator/config.js
Backend API
- Express Server
server.js - Sensor Routes
routes/sensorRoutes.js - Sensor Intake
controllers/sensorController.js - Alert Routes
routes/alertRoutes.js - Alert Management
controllers/alertController.js - Risk Routes
routes/riskRoutes.js - Risk Queries
controllers/riskController.js - Device and Worker APIs
routes/deviceRoutes.js - Device Authentication
middleware/deviceAuth.js - User Authentication
middleware/authMiddleware.js
Risk Analysis
- Risk Adapter
controllers/riskEngine.js - Rule Risk Engine
risk-module/riskEngine.js - Fall Detection
risk-module/fallDetection.js - AI Integration
controllers/aiIntegration.js
Data and Identity
- Data Store
config/dataStore.js - Supabase Client
config/supabase.js
ML Analysis
- Python AI Service
ai-module/server.py - Anomaly Detector
ai-module/anomaly_detector.py - ML Risk Predictor
ai-module/risk_predictor.py - Training Data Generator
ai-module/dataset_generator.py
Other components
- Sensor Device
- Dashboard User
- Safety Dashboard
frontend/script.js
Connections 29
- Simulator Runner → Reading Generator: generates readings
simulator/index.js - Simulator Runner → Hazard Scenarios: runs scenarios
simulator/index.js - Simulator Runner → Simulator Config: reads config
simulator/index.js - Simulator Runner → Express Server: posts readings
simulator/index.js - Sensor Device → Sensor Routes: submits readings
routes/sensorRoutes.js - Express Server → Sensor Routes: mounts routes
server.js - Express Server → Alert Routes: mounts routes
server.js - Express Server → Risk Routes: mounts routes
server.js - Sensor Routes → Device Authentication: protects device POST
routes/sensorRoutes.js - Sensor Routes → User Authentication: protects data GET
routes/sensorRoutes.js - Sensor Routes → Sensor Intake: dispatches requests
routes/sensorRoutes.js - Alert Routes → User Authentication: protects requests
routes/alertRoutes.js - Alert Routes → Alert Management: dispatches requests
routes/alertRoutes.js - Risk Routes → User Authentication: protects requests
routes/riskRoutes.js - Risk Routes → Risk Queries: dispatches requests
routes/riskRoutes.js - Sensor Intake → Risk Adapter: calculates risk
controllers/sensorController.js - Risk Adapter → Rule Risk Engine: delegates scoring
controllers/riskEngine.js - Rule Risk Engine → Fall Detection: detects falls
risk-module/riskEngine.js - Sensor Intake → AI Integration: requests analysis
controllers/sensorController.js - AI Integration → Python AI Service: requests inference
- Python AI Service → Anomaly Detector: uses detector
ai-module/server.py - Python AI Service → ML Risk Predictor: uses predictor
ai-module/server.py - Sensor Intake → Data Store: stores readings and risk
controllers/sensorController.js - Sensor Intake → Data Store: creates alerts
controllers/sensorController.js - Alert Management → Data Store: reads and updates alerts
controllers/alertController.js - Risk Queries → Data Store: reads predictions
controllers/riskController.js - Data Store → Supabase Client: uses when available
config/dataStore.js - Dashboard User → Safety Dashboard: views safety data
- Training Data Generator → Anomaly Detector: supports training