How harshitdhonde/evaladapt works
EVALADAPT is a dashboard and analysis service for evaluating a cool-roof intervention using synthetic Pune demonstration data or an uploaded CSV. The main workflow is upload, clean and validate observations, compute impact/temporal/equity/spatial results, diagnose zone-level patterns, make a rule-based recommendation, and persist results for dashboard views. The frontend exposes overview, intervention, evaluation, equity, diagnosis, and report pages. Several subsystem connections are supported by the SOURCE INDEX rather than inspected implementation; unsampled detail is omitted where it does not establish a relationship.
Main entry points: service.py Pipeline service · App.jsx App routing · pipeline.py Evaluation orchestrator · api.js API client
Components 25
Dashboard
- App routing
frontend/src/App.jsx - Overview
frontend/src/pages/Overview.jsx - Interventions
frontend/src/pages/Interventions.jsx - Evaluation view
frontend/src/pages/Evaluation.jsx - Impact equity
frontend/src/pages/ImpactEquity.jsx - Diagnosis view
frontend/src/pages/Diagnosis.jsx - Reports
frontend/src/pages/Reports.jsx - API client
frontend/src/services/api.js
API and workflow
- API routes
backend/api/routes.py - Pipeline service
backend/service.py
Evaluation and decisions
- Data cleaning
backend/evaluation/preprocessing.py - Evaluation orchestrator
backend/evaluation/pipeline.py - Impact analysis
backend/evaluation/impact.py - Temporal analysis
backend/evaluation/temporal.py - Equity analysis
backend/evaluation/equity.py - Spatial analysis
backend/evaluation/spatial.py - Zone diagnosis
backend/ai/diagnosis.py - Anomaly detection
backend/ai/anomaly.py - Driver analysis
backend/ai/drivers.py - Decision engine
backend/decision/engine.py
Data and persistence
- Synthetic data
backend/generate_data.py - SQLite persistence
backend/database/db.py - Database schema
backend/database/models.py - Runtime configuration
backend/config.py
Other components
- Analyst
Connections 34
- Analyst → App routing: uses
- App routing → Overview: routes to
frontend/src/App.jsx - App routing → Interventions: routes to
frontend/src/App.jsx - App routing → Evaluation view: routes to
frontend/src/App.jsx - App routing → Impact equity: routes to
frontend/src/App.jsx - App routing → Diagnosis view: routes to
frontend/src/App.jsx - App routing → Reports: routes to
frontend/src/App.jsx - Overview → API client: requests data
frontend/src/pages/Overview.jsx - Interventions → API client: requests data
frontend/src/pages/Interventions.jsx - Evaluation view → API client: requests data
frontend/src/pages/Evaluation.jsx - Impact equity → API client: requests data
frontend/src/pages/ImpactEquity.jsx - Diagnosis view → API client: requests data
frontend/src/pages/Diagnosis.jsx - Reports → API client: requests data
frontend/src/pages/Reports.jsx - API client → API routes: calls endpoints
frontend/src/services/api.js - API routes → Pipeline service: starts pipeline
backend/api/routes.py - Pipeline service → Data cleaning: cleans data
backend/service.py - Pipeline service → Evaluation orchestrator: runs evaluation
backend/service.py - Pipeline service → Zone diagnosis: runs diagnosis
backend/service.py - Pipeline service → Decision engine: makes decision
backend/service.py - Pipeline service → SQLite persistence: saves results
backend/service.py - Evaluation orchestrator → Impact analysis: runs analysis
backend/evaluation/pipeline.py - Evaluation orchestrator → Temporal analysis: runs analysis
backend/evaluation/pipeline.py - Evaluation orchestrator → Equity analysis: runs analysis
backend/evaluation/pipeline.py - Evaluation orchestrator → Spatial analysis: runs analysis
backend/evaluation/pipeline.py - Zone diagnosis → Anomaly detection: detects anomalies
backend/ai/diagnosis.py - Zone diagnosis → Driver analysis: finds drivers
backend/ai/diagnosis.py - Decision engine → Evaluation orchestrator: uses results
backend/decision/engine.py - Decision engine → Zone diagnosis: uses findings
backend/decision/engine.py - SQLite persistence → Database schema: initializes schema
backend/database/db.py - API routes → SQLite persistence: loads results
backend/api/routes.py - Pipeline service → Synthetic data: generates fallback
backend/service.py - Pipeline service → Runtime configuration: reads settings
backend/service.py - Evaluation orchestrator → Runtime configuration: reads settings
backend/evaluation/pipeline.py - SQLite persistence → Runtime configuration: reads settings
backend/database/db.py