| ID | product.user_facing.dashboard_app |
|---|---|
| Description | Realtime dashboard for fleet operators. |
| Key | dashboard_app |
| Type | microservice:app |
| Team | Apps |
| Owner | apps@iotgateway.example |
| Status | active |
| Technologies | TypeScript, React, Next.js, WebSocket, Tailwind |
| Attributes | framework: Next.js, realtime: true |
| Tags |
The Dashboard Web App is where fleet operators live. It renders the whole fleet as a sortable table, streams live telemetry into charts, and surfaces alerts in an inbox they can triage and act on — all backed by a single Backend-for-Frontend.
Thin client, smart BFF
The browser never calls backend services directly. Every read and write goes through the Dashboard BFF API (see the Overview tab), which aggregates and view-shapes data so the UI stays simple.
Could not build diagram for model "example-iot".
The App Shell authenticates the operator and lays out the workspace.
The Fleet Table loads GET /fleet/summary and a page of devices, letting
the operator filter to what matters.
Live Charts mints a token from GET /metrics/stream-token and opens the
telemetry WebSocket for the selected devices.
The Alert Inbox pulls GET /alerts; from a device the operator can fire
POST /devices/{id}/commands to reboot or reconfigure it.
Live charts and the inbox visualise the alert pipeline end-to-end:
Commands dispatched from the UI follow the command flow:
1 outgoing link · 3 workflows
| Target object | Label | Link type | Relation | Raw id | Required | Description | |
|---|---|---|---|---|---|---|---|
| subscribes to | — | links | product.processing.stream_processor | — | — |
| Workflow | Model | Participant id | Participant label |
|---|---|---|---|
| Command dispatch commands.dispatch | example-iot | product.user_facing.dashboard_app | Dashboard |
| OTA firmware rollout device-lifecycle.ota-rollout | example-iot | product.user_facing.dashboard_app | Dashboard |
| Telemetry to alert telemetry.alert-pipeline | example-iot | product.user_facing.dashboard_app | Dashboard |