# sivaganeshv1729/iiot-digital-twin-platform architecture

> Architecture diagram of the GitHub repository sivaganeshv1729/iiot-digital-twin-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sivaganeshv1729/iiot-digital-twin-platform
- Repository: https://github.com/sivaganeshv1729/iiot-digital-twin-platform

## Overview

SmartFactory-Nexus is an IIoT factory operations platform: users sign in, then monitor production and machine telemetry through dashboards and a 3D digital twin, while accessing inventory, quality, audit, security, and MLOps views. The gateway serves authenticated API routes and streams telemetry to connected clients; its simulator also records history and adjusts inventory. The AI service provides maintenance predictions, forecasting, model metrics, retraining, and factory chat. Some route and page internals were not sampled, so those capabilities are represented without speculative handler-level connections.

Main entry points: [`api-gateway/src/index.ts`](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/index.ts) (HTTP and socket server), [`frontend/src/App.tsx`](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/App.tsx) (React app), [`ai-service/main.py`](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/main.py) (AI API), [`frontend/src/pages/Dashboard.tsx`](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Dashboard.tsx) (Command dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Factory UI"]
  node_app["React app<br/>[App.tsx]"]
  node_login["Login page<br/>[Login.tsx]"]
  node_dashboard["Command dashboard<br/>[Dashboard.tsx]"]
  node_twin["3D digital twin<br/>[DigitalTwin.tsx]"]
  node_machines["Machine operations<br/>[Machines.tsx]"]
  node_inventory["Inventory view<br/>[Inventory.tsx]"]
  node_quality["Quality view<br/>[Quality.tsx]"]
  node_audit["Audit ledger<br/>[AuditLogs.tsx]"]
  node_mlops["MLOps console<br/>[MLOps.tsx]"]
end

subgraph group_gateway["API Gateway"]
  node_gateway_entry["HTTP and socket server<br/>[index.ts]"]
  node_auth_route["Authentication route<br/>[auth.ts]"]
  node_machine_route["Machine route<br/>[machines.ts]"]
  node_production_route["Production route<br/>[production.ts]"]
  node_inventory_route["Inventory route<br/>[inventory.ts]"]
  node_quality_route["Quality route<br/>[quality.ts]"]
  node_audit_route["Audit route<br/>[audit.ts]"]
  node_ai_route["AI route<br/>[ai.ts]"]
  node_auth_middleware["JWT protection<br/>[auth.ts]"]
end

subgraph group_ai["AI Service"]
  node_ai_service["AI API<br/>[main.py]"]
  node_maintenance_model["Failure predictor"]
  node_forecast_model["Temperature forecaster<br/>[forecast_model.py]"]
  node_llm_service["Factory assistant<br/>[llm_service.py]"]
end

subgraph group_data["Data Services"]
  node_postgres[("PostgreSQL")]
  node_redis["Redis telemetry broker"]
end

node_operator(("Factory user"))
node_socket_clients(("Live UI clients"))
node_gemini{{"Gemini API"}}

node_operator -->|"uses"| node_app
node_app -->|"routes"| node_login
node_app -->|"routes"| node_dashboard
node_app -->|"routes"| node_machines
node_app -->|"routes"| node_inventory
node_app -->|"routes"| node_quality
node_app -->|"routes"| node_audit
node_app -->|"routes"| node_mlops
node_login -->|"signs in"| node_gateway_entry
node_dashboard -->|"fetches data"| node_gateway_entry
node_dashboard -->|"renders machines"| node_twin
node_machines -->|"requests data"| node_gateway_entry
node_inventory -->|"requests data"| node_gateway_entry
node_quality -->|"requests data"| node_gateway_entry
node_audit -->|"requests data"| node_gateway_entry
node_mlops -->|"requests metrics"| node_gateway_entry
node_gateway_entry -->|"dispatches"| node_auth_route
node_gateway_entry -->|"dispatches"| node_machine_route
node_gateway_entry -->|"dispatches"| node_production_route
node_gateway_entry -->|"dispatches"| node_inventory_route
node_gateway_entry -->|"dispatches"| node_quality_route
node_gateway_entry -->|"dispatches"| node_audit_route
node_gateway_entry -->|"dispatches"| node_ai_route
node_gateway_entry -->|"protects routes"| node_auth_middleware
node_auth_route -->|"reads users"| node_postgres
node_gateway_entry -->|"reads machines; writes history and inventory"| node_postgres
node_gateway_entry -->|"publishes telemetry"| node_redis
node_redis -->|"delivers telemetry"| node_gateway_entry
node_gateway_entry -->|"emits updates"| node_socket_clients
node_socket_clients -->|"streams telemetry"| node_dashboard
node_ai_route -.->|"forwards AI requests"| node_ai_service
node_ai_service -->|"predicts and retrains"| node_maintenance_model
node_ai_service -->|"forecasts"| node_forecast_model
node_ai_service -->|"generates insights"| node_llm_service
node_llm_service -->|"requests answers"| node_gemini

click node_app "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/App.tsx"
click node_login "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Login.tsx"
click node_dashboard "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Dashboard.tsx"
click node_twin "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/components/DigitalTwin.tsx"
click node_machines "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Machines.tsx"
click node_inventory "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Inventory.tsx"
click node_quality "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Quality.tsx"
click node_audit "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/AuditLogs.tsx"
click node_mlops "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/MLOps.tsx"
click node_gateway_entry "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/index.ts"
click node_auth_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/auth.ts"
click node_machine_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/machines.ts"
click node_production_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/production.ts"
click node_inventory_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/inventory.ts"
click node_quality_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/quality.ts"
click node_audit_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/audit.ts"
click node_ai_route "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/ai.ts"
click node_auth_middleware "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/middleware/auth.ts"
click node_ai_service "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/main.py"
click node_maintenance_model "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/models/maintenance_model.py"
click node_forecast_model "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/models/forecast_model.py"
click node_llm_service "https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/services/llm_service.py"

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_app,node_login,node_dashboard,node_twin,node_machines,node_inventory,node_quality,node_audit,node_mlops,node_operator,node_socket_clients toneBlue
class node_gateway_entry,node_auth_route,node_machine_route,node_production_route,node_inventory_route,node_quality_route,node_audit_route,node_ai_route,node_auth_middleware toneAmber
class node_ai_service,node_maintenance_model,node_forecast_model,node_llm_service,node_gemini toneMint
class node_postgres,node_redis toneRose
```

## Components

### Factory UI

- [React app](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Login page](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Login.tsx): `frontend/src/pages/Login.tsx`
- [Command dashboard](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Dashboard.tsx): `frontend/src/pages/Dashboard.tsx`
- [3D digital twin](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/components/DigitalTwin.tsx): `frontend/src/components/DigitalTwin.tsx`
- [Machine operations](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Machines.tsx): `frontend/src/pages/Machines.tsx`
- [Inventory view](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Inventory.tsx): `frontend/src/pages/Inventory.tsx`
- [Quality view](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/Quality.tsx): `frontend/src/pages/Quality.tsx`
- [Audit ledger](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/AuditLogs.tsx): `frontend/src/pages/AuditLogs.tsx`
- [MLOps console](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/frontend/src/pages/MLOps.tsx): `frontend/src/pages/MLOps.tsx`

### API Gateway

- [HTTP and socket server](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/index.ts): `api-gateway/src/index.ts`
- [Authentication route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/auth.ts): `api-gateway/src/routes/auth.ts`
- [Machine route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/machines.ts): `api-gateway/src/routes/machines.ts`
- [Production route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/production.ts): `api-gateway/src/routes/production.ts`
- [Inventory route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/inventory.ts): `api-gateway/src/routes/inventory.ts`
- [Quality route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/quality.ts): `api-gateway/src/routes/quality.ts`
- [Audit route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/audit.ts): `api-gateway/src/routes/audit.ts`
- [AI route](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/routes/ai.ts): `api-gateway/src/routes/ai.ts`
- [JWT protection](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/api-gateway/src/middleware/auth.ts): `api-gateway/src/middleware/auth.ts`

### AI Service

- [AI API](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/main.py): `ai-service/main.py`
- [Failure predictor](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/models/maintenance_model.py): `ai-service/models/maintenance_model.py`
- [Temperature forecaster](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/models/forecast_model.py): `ai-service/models/forecast_model.py`
- [Factory assistant](https://github.com/sivaganeshv1729/iiot-digital-twin-platform/blob/main/ai-service/services/llm_service.py): `ai-service/services/llm_service.py`

### Data Services

- **PostgreSQL**
- **Redis telemetry broker**

### Other components

- **Factory user**
- **Live UI clients**
- **Gemini API**

## Connections

- Factory user → React app: uses
- React app → Login page: routes
- React app → Command dashboard: routes
- React app → Machine operations: routes
- React app → Inventory view: routes
- React app → Quality view: routes
- React app → Audit ledger: routes
- React app → MLOps console: routes
- Login page → HTTP and socket server: signs in
- Command dashboard → HTTP and socket server: fetches data
- Command dashboard → 3D digital twin: renders machines
- Machine operations → HTTP and socket server: requests data
- Inventory view → HTTP and socket server: requests data
- Quality view → HTTP and socket server: requests data
- Audit ledger → HTTP and socket server: requests data
- MLOps console → HTTP and socket server: requests metrics
- HTTP and socket server → Authentication route: dispatches
- HTTP and socket server → Machine route: dispatches
- HTTP and socket server → Production route: dispatches
- HTTP and socket server → Inventory route: dispatches
- HTTP and socket server → Quality route: dispatches
- HTTP and socket server → Audit route: dispatches
- HTTP and socket server → AI route: dispatches
- HTTP and socket server → JWT protection: protects routes
- Authentication route → PostgreSQL: reads users
- HTTP and socket server → PostgreSQL: reads machines; writes history and inventory
- HTTP and socket server → Redis telemetry broker: publishes telemetry
- Redis telemetry broker → HTTP and socket server: delivers telemetry
- HTTP and socket server → Live UI clients: emits updates
- Live UI clients → Command dashboard: streams telemetry
- AI route → AI API: forwards AI requests
- AI API → Failure predictor: predicts and retrains
- AI API → Temperature forecaster: forecasts
- AI API → Factory assistant: generates insights
- Factory assistant → Gemini API: requests answers
