How lucaswbohrer/nexus works
NEXUS simulates electrical readings, analyzes them for anomalies, persists readings and generated events, and exposes current, diagnostic, history, and event data through a REST API for the monitoring dashboard. Simulation scenarios are configurable through an API endpoint. The dashboard excerpt shows current-reading, history, and event retrieval; it does not show dashboard controls for changing simulation mode. The graph follows documented capabilities and sampled call sites; unsampled subsystem wiring is omitted.
Main entry points: routes.py REST routes · monitoring.py Telemetry service · api.ts API client · page.tsx Monitoring dashboard
Components 12
Simulation
- Electrical simulator
backend/app/engine/simulator.py
Monitoring
- Telemetry service
backend/app/services/monitoring.py - Diagnostic engine
backend/app/engine/diagnostics.py - Monitoring events
backend/app/models/events.py - SQLite history
backend/app/database/database.py
Backend API
- FastAPI app
backend/app/main.py - REST routes
backend/app/api/routes.py - Reading schema
backend/app/models/schemas.py
Dashboard
- API client
frontend/src/lib/api.ts - Monitoring dashboard
frontend/src/app/page.tsx - Monitoring types
frontend/src/types/monitoring.ts
Other components
- Operator
Connections 19
- Operator → Monitoring dashboard: views
- Operator → REST routes: sets scenario
- FastAPI app → REST routes: registers
- FastAPI app → SQLite history: initializes
- FastAPI app → Telemetry service: starts and stops
- Telemetry service → Electrical simulator: generates reading
- Telemetry service → Diagnostic engine: analyzes reading
- Telemetry service → SQLite history: saves reading and events
- Telemetry service → SQLite history: loads fallback reading
- Diagnostic engine → Monitoring events: creates events
- REST routes → Telemetry service: gets current and diagnosis
- REST routes → SQLite history: gets history and events
- REST routes → Electrical simulator: sets mode
- REST routes → Reading schema: validates reading
- Monitoring dashboard → API client: requests monitoring data
- API client → REST routes: HTTP requests
- REST routes → API client: returns API data
- API client → Monitoring dashboard: returns readings and events
- Monitoring dashboard → Monitoring types: uses data types