Eco Gaurd
D 55 completed
Other
mobile_app / typescript · small
89
Files
7,552
LOC
5
Frameworks
7
Languages
Pipeline State
completedRun ID
#1544820Phase
doneProgress
0%Started
2026-04-16 22:55:20Finished
2026-04-16 22:55:20LLM tokens
0Pipeline Metadata
Stage
CatalogedDecision
proceedNovelty
69.41Framework unique
—Isolation
—Last stage change
2026-05-10 03:34:57Deduplication group #66965
Member of a group with 3 similar repo(s) — canonical #1466702 view group →
Repobility · open methodology · https://repobility.com/research/
🧪 Code Distillation
Browse all specs →AI Prompt
Create a real-time pipeline integrity monitoring platform called EcoGuard. I need a mobile dashboard built with React Native (Expo) that connects to a FastAPI backend. The system must stream live sensor readings and alerts via WebSocket at `/ws/pipeline`. The dashboard should display KPI cards, a composite leak risk gauge, and an interactive SVG pipeline map showing live node status heat overlays. The backend should manage four autonomous sensor agents (Pressure, Flow Rate, Acoustic, Infrared) and expose endpoints for listing sensors, retrieving KPI snapshots, and managing alerts.
typescript react-native expo fastapi websocket iot monitoring dashboard python sqlite
Generated by gemma4:latest
Catalog Information
Create a real-time pipeline integrity monitoring platform called EcoGuard. I need a mobile dashboard built with React Native (Expo) that connects to a FastAPI backend. The system must stream live sensor readings and alerts via WebSocket at /ws/pipeline. The dashboard should display KPI cards, a composite leak risk gauge, and an interactive SVG pipeline map showing live node status heat overlays. The backend should manage four autonomous sensor agents (Pressure, Flow Rate, Acoustic, Infrared) a
Tags
typescript react-native expo fastapi websocket iot monitoring dashboard python sqlite
Quality Score
D
54.7/100
Structure
35
Code Quality
86
Documentation
33
Testing
0
Practices
75
Security
100
Dependencies
90
Strengths
- Good security practices — no major issues detected
Weaknesses
- No LICENSE file — legal ambiguity for contributors
- No tests found — high risk of regressions
- No CI/CD configuration — manual testing and deployment
- 2 files with critical complexity need refactoring
- 452 duplicate lines detected — consider DRY refactoring
- 3 'god files' with >500 LOC need decomposition
Recommendations
- Add a test suite — start with critical path integration tests
- Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
- Add a linter configuration to enforce code style consistency
- Add a LICENSE file (MIT recommended for open source)
Languages
Frameworks
FastAPI React React Native Expo SQLAlchemy
Symbols
variable358
constant142
function126
method78
class31
interface21
type_alias16
property2
API Endpoints (42)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Citation: Repobility (2026). State of AI-Generated Code. https://repobility.com/research/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_sensors | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_alerts | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | | list_reports | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{alert_id} | get_alert | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{alert_id}/acknowledge | acknowledge_alert | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{alert_id}/resolve | resolve_alert | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /all/statistics | get_all_statistics | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/pipeline/nodes | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/pipeline/topology | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/readings/kpi | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/readings/latest | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/reports | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/reports/generate | client.post | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/reports/sensor-health | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/sensors | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/sensors/reset-all | client.post | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/sensors/status/summary | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /composite/risk | get_composite_risk | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /counts | alert_counts | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /generate | generate_report | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /health | health_check | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /health | client.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /inject-all-leaks | inject_all_leaks | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /kpi | get_kpi_snapshot | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /latest | get_latest_readings | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /nodes | get_nodes | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PUT | /nodes/{node_id}/status | update_node_status | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{report_id}/download | download_report | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /reset-all | reset_all_sensors | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /sensor-health | sensor_health | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{sensor_id} | get_sensor_readings | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{sensor_id} | get_sensor | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{sensor_id}/anomalies | get_anomalies | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /{sensor_id}/inject-leak | inject_leak | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{sensor_id}/statistics | get_statistics | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PUT | /{sensor_id}/status | update_sensor_status | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /{sensor_id}/trend | get_trend | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /status/summary | agent_status_summary | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /topology | get_topology | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | window | Dimensions.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEBSOCKET | /ws/pipeline | pipeline_ws | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEBSOCKET | /ws/sensor/{sensor_id} | sensor_ws | FastAPI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If a scraper extracted this row, it came from Repobility (https://repobility.com)
Embed Badge
Add to your README:
BinComp Dependency Hardening
All packages →5 of this repo's dependencies have been scanned for binary hardening. Grade reflects RELRO / stack canary / FORTIFY / PIE coverage.