| Domain | Name | Frontend Status | Dashboard Type | Screens / Features |
|---|---|---|---|---|
| D01 | Flow & Pressure | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D02 | Pump Station | Done | PumpsDomain (Full) | 7 Screens: Dashboard, Asset List, Pump Detail, Energy, Predictive, Alarms, Maintenance |
| D03 | Valve & Actuator | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D04 | Reservoir & Storage | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D05 | Stormwater & Flood | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D06 | Environmental & Met | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D07 | Power & Energy | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D08 | Groundwater & Source | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D09 | Water Quality | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms + IS:10500/WHO thresholds |
| D10 | Smart Meters & AMI | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D11 | SCADA / PLC / RTU | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D12 | GIS & Network | Done | GISPanel (Full) | Google Maps, Pipeline Network, All Pipes/Flow/Valves/Assets/DMA/Pressure tabs |
| D13 | Security & CCTV | Done | SecurityPanel | Site security status, CCTV feeds, intrusion alerts |
| D14 | IoT & Comms | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D15 | WTP Process | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D16 | WWTP / STP / SPS | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D17 | CMMS & Maintenance | Done | CMMSPanel | Work orders, PM schedule, asset health |
| D18 | CRM & Billing | Done | GenericDomain | KPIs, Asset Table, Trends, Alarms |
| D19 | NRW / Water Balance | Done | NRWDomain (Full) | 5 Screens: Overview, DMA Zones, IWA Balance, Trends, Leak Detection |
| D20 | AI / Analytics | Done | AIPanel + GenericDomain | Anomaly detection, model status, predictions |
| Port | Service | Role | Status | Notes |
|---|---|---|---|---|
| :9090 | Monolithic Backend | API Gateway + Store + Streamer + Auth (combined) | Done | Go single package, PostgreSQL, WebSocket, JWT, bcrypt |
| :8080 | API Gateway | Public entry, JWT, RBAC, reverse proxy | Pending | Currently combined in :9090 monolith |
| :8081 | Ingest Gateway | Validation, 23-field check, fan-out | Pending | Ingest available at /api/telemetry on :9090 |
| :8082 | Store | SQLite/PG, Redis, 12 tables | Partial | PostgreSQL store implemented, 5/12 tables complete |
| :8083 | Streamer | WebSocket & SSE hub | Partial | WebSocket hub in :9090, SSE not yet |
| :8084 | Simulator | 167-system synthetic data generator | Pending | Frontend uses hash-based synthetic data as fallback |
| :8085 | Poller | Modbus, OPC-UA, HART field polling | Pending | Real device polling not yet implemented |
| :8086 | Configurator | Runtime config, hot-reload | Pending | Config via env vars today |
| :8087 | Logkeeper | 7-table audit trail | Pending | Basic logging to stdout/PostgreSQL today |
| :8088 | Healthmon | 30s polling, UP/DOWN/DEGRADED | Partial | Health check at /api/stats implemented |
| :8089 | Admin | Users, bcrypt, JWT rotation | Done | Full CRUD user management, bcrypt, roles in :9090 |
| Component | Status | Description |
|---|---|---|
| App.tsx | Done | Root router, tab state, WS orchestration |
| Login.tsx | Done | JWT login form with error handling |
| Sidebar.tsx | Done | 20-domain navigation, alarm badge |
| TopBar.tsx | Done | Active tab header, WS status, stats |
| StatusBar.tsx | Done | Bottom bar: WS, live count, time |
| KPICards.tsx | Done | Top KPI row for non-dashboard tabs |
| Component | Status | Domains |
|---|---|---|
| CommandCenter.tsx | Done | Main IC³ dashboard |
| PumpsDomain.tsx | Done | D02 — 7 screens |
| NRWDomain.tsx | Done | D19 — 5 screens |
| GenericDomainDashboard.tsx | Done | D01,D03-D11,D13-D16,D18-D20 |
| GISPanel.tsx | Done | D12 — Google Maps |
| SecurityPanel.tsx | Done | D13 |
| CMMSPanel.tsx | Done | D17 |
| DomainPanel.tsx | Done | Stub for remaining tabs |
| Component | Status | Description |
|---|---|---|
| ScadaPanel.tsx | Done | Live telemetry table, alarm states |
| AIPanel.tsx | Done | Anomaly detection, AI analysis |
| TrendChart.tsx | Done | SVG time-series sparklines |
| AlarmsPanel.tsx | Done | Live alarm list, severity badges |
| WorkOrdersPanel.tsx | Done | Open work orders list |
| ReportsPanel.tsx | Partial | Summary reports, export |
| MDMPanel.tsx | Partial | Meter data management |
| AdminPanel.tsx | Done | User CRUD, roles, system health |
| Hook / Context | Status | Description |
|---|---|---|
| AuthContext.tsx | Done | JWT token, login/logout, persist |
| useApi.ts | Done | Fetch wrapper with auth header |
| useWebSocket.ts | Done | WS connect, reconnect, message cb |
| useStats.ts | Done | Platform stats polling every 30s |
| useAlarms.ts | Done | Active alarms, 30s refresh |