graph TB
%% Stil-Definitionen
classDef backend fill:#1e40af,stroke:#1e3a8a,color:#fff,stroke-width:3px
classDef frontend fill:#10b981,stroke:#059669,color:#fff,stroke-width:3px
classDef database fill:#f59e0b,stroke:#d97706,color:#fff,stroke-width:3px
classDef hardware fill:#ef4444,stroke:#dc2626,color:#fff,stroke-width:3px
classDef network fill:#8b5cf6,stroke:#7c3aed,color:#fff,stroke-width:3px
classDef client fill:#06b6d4,stroke:#0891b2,color:#fff,stroke-width:3px
classDef security fill:#e11d48,stroke:#be123c,color:#fff,stroke-width:3px
classDef note fill:#f3f4f6,stroke:#d1d5db,color:#000,stroke-width:1px
%% Netzwerk-Infrastruktur
subgraph MB["Mercedes-Benz Netzwerk"]
subgraph LAN["Lokales WLAN 192.168.0.0/24"]
%% Backend-Server
BACKEND["Backend-Server
Flask REST-API
IP: 192.168.0.105
Ports: 443, 8080
HTTPS mit SSL"]:::backend
%% Frontend-Server
FRONTEND["Frontend-Server
Next.js PWA
Domain: m040tbaraspi001
Ports: 3000, 443
HTTPS mit Mercedes SSL"]:::frontend
%% Datenbank
DB[("SQLite-Datenbank
WAL-Modus
myp.db
Optimiert für Pi")]:::database
%% Raspberry Pi Kiosk
KIOSK["Raspberry Pi
Kiosk-Modus
Touch-Interface
Offline-Betrieb"]:::client
%% Smart-Plug Netzwerk
subgraph PLUGNET["Smart-Plug Netzwerk"]
PLUG1["TP-Link Tapo P110
IP: 192.168.0.100
Drucker 1"]:::hardware
PLUG2["TP-Link Tapo P110
IP: 192.168.0.101
Drucker 2"]:::hardware
PLUG3["TP-Link Tapo P110
IP: 192.168.0.102
Drucker 3"]:::hardware
PLUG4["TP-Link Tapo P110
IP: 192.168.0.103
Drucker 4"]:::hardware
PLUG5["TP-Link Tapo P110
IP: 192.168.0.104
Drucker 5"]:::hardware
PLUG6["TP-Link Tapo P110
IP: 192.168.0.106
Drucker 6"]:::hardware
end
%% 3D-Drucker
subgraph PRINTERS["3D-Drucker"]
PRINTER1["3D-Drucker 1
Stromversorgung über Plug"]:::hardware
PRINTER2["3D-Drucker 2
Stromversorgung über Plug"]:::hardware
PRINTER3["3D-Drucker 3
Stromversorgung über Plug"]:::hardware
PRINTER4["3D-Drucker 4
Stromversorgung über Plug"]:::hardware
PRINTER5["3D-Drucker 5
Stromversorgung über Plug"]:::hardware
PRINTER6["3D-Drucker 6
Stromversorgung über Plug"]:::hardware
end
end
%% Client-Systeme
CLIENT1["Browser-Clients
Desktop/Mobile
PWA-Support"]:::client
CLIENT2["Admin-Dashboard
HTTPS-Zugriff"]:::client
CLIENT3["Gast-Zugriff
OTP-Authentifizierung"]:::client
end
%% Verbindungen - API-Kommunikation
CLIENT1 -.->|"HTTPS/443"| FRONTEND
CLIENT2 -.->|"HTTPS/443"| FRONTEND
CLIENT3 -.->|"HTTPS/443"| FRONTEND
FRONTEND -->|"REST-API
HTTPS/443"| BACKEND
KIOSK -->|"Local API"| BACKEND
%% Verbindungen - Datenbank
BACKEND -->|"SQLAlchemy
Thread-Pool"| DB
%% Verbindungen - Hardware-Steuerung
BACKEND -->|"Tapo-API
WLAN"| PLUG1
BACKEND -->|"Tapo-API
WLAN"| PLUG2
BACKEND -->|"Tapo-API
WLAN"| PLUG3
BACKEND -->|"Tapo-API
WLAN"| PLUG4
BACKEND -->|"Tapo-API
WLAN"| PLUG5
BACKEND -->|"Tapo-API
WLAN"| PLUG6
%% Verbindungen - Stromversorgung
PLUG1 -.->|"230V AC"| PRINTER1
PLUG2 -.->|"230V AC"| PRINTER2
PLUG3 -.->|"230V AC"| PRINTER3
PLUG4 -.->|"230V AC"| PRINTER4
PLUG5 -.->|"230V AC"| PRINTER5
PLUG6 -.->|"230V AC"| PRINTER6
%% Notizen
subgraph INFO["System-Informationen"]
NOTE1["
Scheduler-System:
Automatische Drucker-, Hintergrundaufgaben- und Zeitsteuerung"]:::note
end