# manuonsky/industrial-iot-monitoring-platform architecture

> Architecture diagram of the GitHub repository manuonsky/industrial-iot-monitoring-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manuonsky/industrial-iot-monitoring-platform
- Repository: https://github.com/manuonsky/industrial-iot-monitoring-platform

## Overview

This README describes a planned edge-to-cloud industrial monitoring platform, not a verified deployment. The primary workflow buffers simulated pump readings locally, publishes them securely to AWS IoT Core, routes them to telemetry storage and threshold notifications, and serves stored readings to an operator dashboard through a separate API path. The graph also preserves the documented static-asset delivery, logging, and alternative ECS compute configurations. All relationships are documented in README.md; no implementation excerpts were available to verify them.

Main entry points: [`README.md`](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md) (ECS Runtime)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_edge["Edge Telemetry"]
  node_simulator["Pump Simulator<br/>[README.md]"]
  node_buffer[("SQLite Buffer<br/>[README.md]")]
  node_publisher["MQTT Publisher<br/>[README.md]"]
  node_certificate["X.509 Identity<br/>[README.md]"]
end

subgraph group_ingestion["Cloud Ingestion"]
  node_iot{{"AWS IoT Core<br/>[README.md]"}}
  node_rules["IoT Rules<br/>[README.md]"]
  node_telemetry[("DynamoDB Telemetry<br/>[README.md]")]
  node_notifications["SNS Alerts<br/>[README.md]"]
end

subgraph group_api["Read API"]
  node_alb{{"Load Balancer<br/>[README.md]"}}
  node_ecs["ECS Runtime<br/>[README.md]"]
  node_readapi["FastAPI Read API<br/>[README.md]"]
end

subgraph group_presentation["Dashboard Delivery"]
  node_cloudfront{{"CloudFront<br/>[README.md]"}}
  node_static[("Private S3 Assets<br/>[README.md]")]
  node_dashboard["React Dashboard<br/>[README.md]"]
end

subgraph group_operations["Cloud Operations"]
  node_ecr[("Amazon ECR<br/>[README.md]")]
  node_compute["EC2 or Fargate<br/>[README.md]"]
  node_logs[("CloudWatch Logs<br/>[README.md]")]
end

node_browser(("Operator Browser"))

node_simulator -->|"persists readings"| node_buffer
node_publisher -->|"reads pending"| node_buffer
node_publisher -->|"marks sent"| node_buffer
node_certificate -.->|"authenticates"| node_publisher
node_publisher -->|"publishes MQTT"| node_iot
node_iot -->|"forwards telemetry"| node_rules
node_rules -->|"stores readings"| node_telemetry
node_rules -->|"publishes alerts"| node_notifications
node_cloudfront -->|"serves assets"| node_static
node_cloudfront -->|"routes API"| node_alb
node_alb -->|"forwards requests"| node_ecs
node_ecs -->|"runs"| node_readapi
node_readapi -->|"queries readings"| node_telemetry
node_ecr -.->|"provides image"| node_ecs
node_compute -.->|"hosts tasks"| node_ecs
node_ecs -.->|"sends logs"| node_logs
node_browser -->|"requests HTTPS"| node_cloudfront
node_browser -.->|"uses"| node_dashboard

click node_simulator "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_buffer "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_publisher "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_certificate "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_iot "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_rules "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_telemetry "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_notifications "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_alb "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_ecs "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_readapi "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_cloudfront "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_static "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_dashboard "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_ecr "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_compute "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"
click node_logs "https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_simulator,node_buffer,node_publisher,node_certificate,node_browser toneBlue
class node_iot,node_rules,node_telemetry,node_notifications toneAmber
class node_alb,node_ecs,node_readapi toneMint
class node_cloudfront,node_static,node_dashboard toneRose
class node_ecr,node_compute,node_logs toneIndigo
```

## Components

### Edge Telemetry

- [Pump Simulator](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [SQLite Buffer](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [MQTT Publisher](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [X.509 Identity](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`

### Cloud Ingestion

- [AWS IoT Core](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [IoT Rules](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [DynamoDB Telemetry](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [SNS Alerts](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`

### Read API

- [Load Balancer](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [ECS Runtime](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [FastAPI Read API](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`

### Dashboard Delivery

- [CloudFront](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [Private S3 Assets](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [React Dashboard](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`

### Cloud Operations

- [Amazon ECR](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [EC2 or Fargate](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`
- [CloudWatch Logs](https://github.com/manuonsky/industrial-iot-monitoring-platform/blob/main/README.md): `README.md`

### Other components

- **Operator Browser**

## Connections

- Pump Simulator → SQLite Buffer: persists readings (evidence: `README.md`)
- MQTT Publisher → SQLite Buffer: reads pending (evidence: `README.md`)
- MQTT Publisher → SQLite Buffer: marks sent (evidence: `README.md`)
- X.509 Identity → MQTT Publisher: authenticates (evidence: `README.md`)
- MQTT Publisher → AWS IoT Core: publishes MQTT (evidence: `README.md`)
- AWS IoT Core → IoT Rules: forwards telemetry (evidence: `README.md`)
- IoT Rules → DynamoDB Telemetry: stores readings (evidence: `README.md`)
- IoT Rules → SNS Alerts: publishes alerts (evidence: `README.md`)
- CloudFront → Private S3 Assets: serves assets (evidence: `README.md`)
- CloudFront → Load Balancer: routes API (evidence: `README.md`)
- Load Balancer → ECS Runtime: forwards requests (evidence: `README.md`)
- ECS Runtime → FastAPI Read API: runs (evidence: `README.md`)
- FastAPI Read API → DynamoDB Telemetry: queries readings (evidence: `README.md`)
- Amazon ECR → ECS Runtime: provides image (evidence: `README.md`)
- EC2 or Fargate → ECS Runtime: hosts tasks (evidence: `README.md`)
- ECS Runtime → CloudWatch Logs: sends logs (evidence: `README.md`)
- Operator Browser → CloudFront: requests HTTPS (evidence: `README.md`)
- Operator Browser → React Dashboard: uses (evidence: `README.md`)
