How aromano3141/aquagaurd works
AquaGuard is a water-network leak detection and response dashboard. Users inspect network topology and leak results, run sandbox simulations on generated or uploaded EPANET networks, and review savings or dispatch repair teams. The main detection flow combines SCADA data and network topology with anomaly detection and leak localization, then exposes results through the API for visualization. The README documents GNN detection, sensor-based localization, simulation, and impact metrics; several related handlers are present in the tree but their implementation was not sampled, so their internal wiring is not inferred.
Main entry points: main.py FastAPI App · App.jsx Dashboard Router · client.js API Client · data Water Network Data
Components 23
Dashboard
- Dashboard Router
frontend/src/App.jsx - API Client
frontend/src/api/client.js - Network Overview
frontend/src/pages/NetworkOverview.jsx - Simulation View
frontend/src/pages/Simulation.jsx - Sandbox View
frontend/src/pages/SandboxProcedural.jsx - City Sandbox
frontend/src/pages/CitySandbox.jsx - Savings View
frontend/src/pages/Savings.jsx - Network Map
frontend/src/components/NetworkMap.jsx
API
- FastAPI App
app/main.py - Pipeline API
app/routers/pipeline.py - Network API
app/routers/network.py - Sensor API
app/routers/sensors.py - Sandbox API
app/routers/sandbox.py - Savings API
app/routers/savings.py - Dispatch API
app/routers/dispatch.py - Report API
app/routers/report.py
Detection
- Pipeline Service
app/services/pipeline_service.py - Leak Detection
app/core/detect_leaks.py
Network Data
- SCADA Data
app/services/data_service.py - Network Model
app/services/network_service.py - Water Network Data
data
Other components
- Utility Engineer
- HTTP API
Connections 26
- Utility Engineer → Dashboard Router: uses
- Dashboard Router → Network Overview: routes
- Dashboard Router → Simulation View: routes
- Dashboard Router → Sandbox View: routes
- Dashboard Router → City Sandbox: routes
- Dashboard Router → Savings View: routes
- Dashboard Router → API Client: prefetches
- Sandbox View → API Client: requests
- Network Overview → API Client: requests
- Network Overview → Network Map: renders
- API Client → HTTP API: sends requests
- HTTP API → FastAPI App: reaches
- FastAPI App → Pipeline API: includes
- FastAPI App → Network API: includes
- FastAPI App → Sensor API: includes
- FastAPI App → Sandbox API: includes
- FastAPI App → Savings API: includes
- FastAPI App → Dispatch API: includes
- FastAPI App → Report API: includes
- Pipeline API → Pipeline Service: runs
- Pipeline Service → Leak Detection: executes
- Pipeline Service → Water Network Data: reads
- Leak Detection → Water Network Data: loads inputs
- SCADA Data → Water Network Data: reads
- Network Model → Water Network Data: loads topology
- Network API → Network Model: serves topology