# enming73/ai-manufacturing-assistant architecture

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

- Interactive diagram: https://gitdiagram.com/enming73/ai-manufacturing-assistant
- Repository: https://github.com/enming73/ai-manufacturing-assistant

## Overview

This is a synthetic SMT production-analytics demo: users select a line and UTC time window, then inspect FPY, hourly SPI/AOI quality, defects, alarms, and batch evidence in a German dashboard. The API serves read-only analytics backed by PostgreSQL; startup can apply migrations and seed the deterministic demo scenario. The separate agent exposes liveness only—AI diagnosis and RAG are not implemented. Edges reflect shown wiring, calls, and README statements; unsampled endpoint or deployment details are not inferred.

Main entry points: [`backend/src/Manufacturing.Api/Program.cs`](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/Program.cs) (API host), [`frontend/src/App.tsx`](https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/App.tsx) (Quality dashboard), [`backend/src/Manufacturing.Application/ProductionAnalyticsService.cs`](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/ProductionAnalyticsService.cs) (Production analytics), [`backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs`](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs) (Manufacturing context)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Dashboard"]
  node_dashboard["Quality dashboard<br/>[App.tsx]"]
  node_api_client["API client<br/>[api.ts]"]
  node_quality_chart["Quality chart<br/>[QualityChart.tsx]"]
end

subgraph group_api["Analytics API"]
  node_api_host["API host<br/>[Program.cs]"]
  node_production_routes["Production endpoints"]
  node_db_errors["Database error handling"]
end

subgraph group_application["Analytics Logic"]
  node_analytics["Production analytics"]
  node_quality_rules["Quality calculations"]
  node_time_window["Time-window rules<br/>[TimeWindow.cs]"]
  node_contracts["Analytics contracts"]
  node_demo_scenario["Demo scenario<br/>[DemoScenario.cs]"]
end

subgraph group_persistence["Persistence"]
  node_domain["Production domain"]
  node_read_store["Production read store"]
  node_db_context["Manufacturing context"]
  node_demo_seeder["Demo data seeder<br/>[DemoSeeder.cs]"]
end

subgraph group_agent["Agent Liveness"]
  node_agent_app["Agent health app<br/>[main.py]"]
end

node_user(("Dashboard user"))
node_postgres[("PostgreSQL")]
node_agent_user(("Agent health caller"))

node_user -->|"selects filters"| node_dashboard
node_dashboard -->|"requests data"| node_api_client
node_dashboard -->|"renders"| node_quality_chart
node_dashboard -->|"fetches analytics"| node_production_routes
node_api_host -->|"maps routes"| node_production_routes
node_api_host -->|"registers"| node_analytics
node_api_host -->|"registers"| node_read_store
node_api_host -->|"configures"| node_db_context
node_api_host -->|"registers"| node_db_errors
node_api_host -->|"seeds on startup"| node_demo_seeder
node_api_host -->|"logs scenario date"| node_demo_scenario
node_production_routes -->|"dispatches analytics"| node_analytics
node_analytics -->|"uses calculations"| node_quality_rules
node_analytics -->|"uses windows"| node_time_window
node_quality_rules -->|"uses windows"| node_time_window
node_demo_seeder -->|"writes records"| node_db_context
node_demo_seeder -->|"creates entities"| node_domain
node_db_context -->|"maps entities"| node_domain
node_read_store -->|"queries"| node_db_context
node_api_host -->|"connects"| node_postgres
node_agent_user -->|"checks liveness"| node_agent_app

click node_dashboard "https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/App.tsx"
click node_api_client "https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/api.ts"
click node_quality_chart "https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/QualityChart.tsx"
click node_api_host "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/Program.cs"
click node_production_routes "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/ProductionEndpoints.cs"
click node_db_errors "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/DatabaseExceptionHandler.cs"
click node_analytics "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/ProductionAnalyticsService.cs"
click node_quality_rules "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/QualityAnalytics.cs"
click node_time_window "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/TimeWindow.cs"
click node_contracts "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/ProductionContracts.cs"
click node_demo_scenario "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/DemoScenario.cs"
click node_domain "https://github.com/enming73/ai-manufacturing-assistant/tree/main/backend/src/Manufacturing.Domain"
click node_read_store "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/ProductionReadStore.cs"
click node_db_context "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs"
click node_demo_seeder "https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/DemoSeeder.cs"
click node_agent_app "https://github.com/enming73/ai-manufacturing-assistant/blob/main/agent/app/main.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_dashboard,node_api_client,node_quality_chart,node_user toneBlue
class node_api_host,node_production_routes,node_db_errors,node_postgres toneAmber
class node_analytics,node_quality_rules,node_time_window,node_contracts,node_demo_scenario toneMint
class node_domain,node_read_store,node_db_context,node_demo_seeder toneRose
class node_agent_app,node_agent_user toneIndigo
```

## Components

### Dashboard

- [Quality dashboard](https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [API client](https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/api.ts): `frontend/src/api.ts`
- [Quality chart](https://github.com/enming73/ai-manufacturing-assistant/blob/main/frontend/src/QualityChart.tsx): `frontend/src/QualityChart.tsx`

### Analytics API

- [API host](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/Program.cs): `backend/src/Manufacturing.Api/Program.cs`
- [Production endpoints](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/ProductionEndpoints.cs): `backend/src/Manufacturing.Api/ProductionEndpoints.cs`
- [Database error handling](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Api/DatabaseExceptionHandler.cs): `backend/src/Manufacturing.Api/DatabaseExceptionHandler.cs`

### Analytics Logic

- [Production analytics](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/ProductionAnalyticsService.cs): `backend/src/Manufacturing.Application/ProductionAnalyticsService.cs`
- [Quality calculations](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/QualityAnalytics.cs): `backend/src/Manufacturing.Application/QualityAnalytics.cs`
- [Time-window rules](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/TimeWindow.cs): `backend/src/Manufacturing.Application/TimeWindow.cs`
- [Analytics contracts](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/ProductionContracts.cs): `backend/src/Manufacturing.Application/ProductionContracts.cs`
- [Demo scenario](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Application/DemoScenario.cs): `backend/src/Manufacturing.Application/DemoScenario.cs`

### Persistence

- [Production domain](https://github.com/enming73/ai-manufacturing-assistant/tree/main/backend/src/Manufacturing.Domain): `backend/src/Manufacturing.Domain`
- [Production read store](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/ProductionReadStore.cs): `backend/src/Manufacturing.Infrastructure/ProductionReadStore.cs`
- [Manufacturing context](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs): `backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs`
- [Demo data seeder](https://github.com/enming73/ai-manufacturing-assistant/blob/main/backend/src/Manufacturing.Infrastructure/DemoSeeder.cs): `backend/src/Manufacturing.Infrastructure/DemoSeeder.cs`

### Agent Liveness

- [Agent health app](https://github.com/enming73/ai-manufacturing-assistant/blob/main/agent/app/main.py): `agent/app/main.py`

### Other components

- **Dashboard user**
- **PostgreSQL**
- **Agent health caller**

## Connections

- Dashboard user → Quality dashboard: selects filters (evidence: `README.md`)
- Quality dashboard → API client: requests data (evidence: `frontend/src/App.tsx`)
- Quality dashboard → Quality chart: renders (evidence: `frontend/src/App.tsx`)
- Quality dashboard → Production endpoints: fetches analytics (evidence: `README.md`)
- API host → Production endpoints: maps routes (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Production analytics: registers (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Production read store: registers (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Manufacturing context: configures (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Database error handling: registers (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Demo data seeder: seeds on startup (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- API host → Demo scenario: logs scenario date (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- Production endpoints → Production analytics: dispatches analytics (evidence: `backend/src/Manufacturing.Api/ProductionEndpoints.cs`)
- Production analytics → Quality calculations: uses calculations (evidence: `backend/src/Manufacturing.Application/ProductionAnalyticsService.cs`)
- Production analytics → Time-window rules: uses windows (evidence: `backend/src/Manufacturing.Application/ProductionAnalyticsService.cs`)
- Quality calculations → Time-window rules: uses windows (evidence: `backend/src/Manufacturing.Application/QualityAnalytics.cs`)
- Demo data seeder → Manufacturing context: writes records (evidence: `backend/src/Manufacturing.Infrastructure/DemoSeeder.cs`)
- Demo data seeder → Production domain: creates entities (evidence: `backend/src/Manufacturing.Infrastructure/DemoSeeder.cs`)
- Manufacturing context → Production domain: maps entities (evidence: `backend/src/Manufacturing.Infrastructure/ManufacturingDbContext.cs`)
- Production read store → Manufacturing context: queries (evidence: `backend/src/Manufacturing.Infrastructure/ProductionReadStore.cs`)
- API host → PostgreSQL: connects (evidence: `backend/src/Manufacturing.Api/Program.cs`)
- Agent health caller → Agent health app: checks liveness (evidence: `README.md`)
