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