🌟 🎉 Major Update:

This commit is contained in:
2025-06-01 23:41:02 +02:00
parent 62efe03887
commit 4042f07c00
228 changed files with 8598 additions and 1893 deletions

View File

@@ -0,0 +1,168 @@
# Frontend-API-Konfiguration für separates Backend
## Übersicht
Das Frontend wurde konfiguriert, um mit einem Backend auf einem separaten Server unter `https://192.168.0.105:443` zu kommunizieren.
## Durchgeführte Änderungen
### 1. API-Basis-URL-Konfiguration (`frontend/src/utils/api-config.ts`)
**Primäre Backend-URL**: `https://192.168.0.105:443`
**Fallback-URLs**:
- `https://192.168.0.105` (ohne expliziten Port)
- `https://raspberrypi` (lokaler Raspberry Pi Fallback)
### 2. SSL-Zertifikat-Handling
- Selbstsignierte Zertifikate werden automatisch akzeptiert
- `NODE_TLS_REJECT_UNAUTHORIZED = '0'` für Development
### 3. API-Endpunkt-Konfiguration
Alle API-Endpunkte wurden angepasst:
```typescript
export const API_ENDPOINTS = {
PRINTERS: 'https://192.168.0.105:443/api/printers',
JOBS: 'https://192.168.0.105:443/api/jobs',
USERS: 'https://192.168.0.105:443/api/users',
HEALTH: 'https://192.168.0.105:443/health',
AUTH: {
LOGIN: 'https://192.168.0.105:443/api/auth/login',
CALLBACK: 'https://192.168.0.105:443/api/auth/callback',
}
};
```
### 4. Fallback-Mechanismus
Das Frontend verfügt über einen robusten Fallback-Mechanismus:
1. **Primäre Verbindung**: `https://192.168.0.105:443`
2. **Fallback 1**: `https://192.168.0.105` (Port 443 automatisch)
3. **Fallback 2**: `https://raspberrypi` (lokaler Pi)
### 5. Health Check Integration
Der Health Check wurde angepasst, um die Backend-Konnektivität zu überwachen:
```typescript
// Health Check prüft Backend unter https://192.168.0.105:443/health
const backendStatus = await fetch(`${backendUrl}/health`);
```
## Environment-Variablen (optional)
Falls gewünscht, kann die Backend-URL über Environment-Variablen überschrieben werden:
```bash
# .env.local
NEXT_PUBLIC_API_URL=https://192.168.0.105:443
NODE_TLS_REJECT_UNAUTHORIZED=0
```
## Netzwerk-Konfiguration
### Backend-Server-Anforderungen
1. **HTTPS aktiviert** auf Port 443
2. **CORS konfiguriert** für Frontend-Domain
3. **SSL-Zertifikat** (selbstsigniert oder gültig)
4. **API-Endpunkte** verfügbar unter `/api/*`
5. **Health Check** verfügbar unter `/health`
### Firewall-Regeln
```bash
# Backend-Server (192.168.0.105)
sudo ufw allow 443/tcp
sudo ufw allow from 192.168.0.0/24 to any port 443
```
## Entwicklung und Testing
### Backend-Verbindung testen
```bash
# SSL-Verbindung testen
curl -k https://192.168.0.105:443/health
# API-Endpunkte testen
curl -k https://192.168.0.105:443/api/printers
curl -k https://192.168.0.105:443/api/jobs
```
### Frontend-Server starten
```bash
cd frontend
pnpm install
pnpm dev
```
Das Frontend läuft auf `http://localhost:3000` und verbindet sich automatisch mit dem Backend unter `https://192.168.0.105:443`.
## Fehlerbehebung
### SSL-Zertifikat-Probleme
Falls SSL-Zertifikat-Fehler auftreten:
1. **Browser**: Besuche `https://192.168.0.105:443` und akzeptiere das Zertifikat manuell
2. **curl**: Verwende `-k` Flag für unsichere Verbindungen
3. **fetch**: `NODE_TLS_REJECT_UNAUTHORIZED=0` ist bereits gesetzt
### Verbindungsprobleme
1. **Netzwerk**: Prüfe ob `192.168.0.105` erreichbar ist
2. **Port**: Stelle sicher, dass Port 443 geöffnet ist
3. **Backend**: Prüfe ob Backend-Service läuft
4. **Logs**: Prüfe Browser-Konsole und Backend-Logs
### Fallback-Testing
Das Frontend versucht automatisch Fallback-URLs:
```javascript
// In Browser-Konsole testen
console.log('API_BASE_URL:', API_BASE_URL);
fetch('/api/health').then(r => r.json()).then(console.log);
```
## Produktions-Deployment
### Umgebungsspezifische Konfiguration
```bash
# Production
NEXT_PUBLIC_API_URL=https://192.168.0.105:443
# Staging
NEXT_PUBLIC_API_URL=https://staging-backend:443
# Development
NEXT_PUBLIC_API_URL=https://localhost:5000
```
### Docker-Deployment
```yaml
# docker-compose.yml
services:
frontend:
build: ./frontend
environment:
- NEXT_PUBLIC_API_URL=https://192.168.0.105:443
ports:
- "3000:3000"
```
---
**Status**: ✅ Konfiguration abgeschlossen
**Backend-URL**: `https://192.168.0.105:443`
**Fallback-Support**: Aktiviert
**SSL-Handling**: Selbstsignierte Zertifikate akzeptiert
**Getestet**: Bereit für Integration

View File

@@ -1,199 +1,216 @@
# Mercedes-Benz MYP Platform - Roadmap
## Projektübersicht
Das MYP-Druckerverwaltungssystem besteht aus **zwei eigenständigen Projektarbeiten**:
- **🏰 Backend-System** (Till Tomczak) - **HAUPT-PRODUKTIONSSYSTEM**
- **📊 Frontend-Analytics** (Torben Haack) - **ANALYSE-PROJEKT**
Das **Backend ist führend** und stellt die vollständige Hardware-Integration sowie APIs bereit.
## Aktueller Stand (Dezember 2024)
### ✅ Abgeschlossen
### ✅ Backend-System (Till Tomczak) - VOLLSTÄNDIG ABGESCHLOSSEN
#### Backend-Infrastruktur
- ✅ Flask-App mit SQLAlchemy-Modellen
-User-Management mit Admin-Rollen
-Drucker-Management-System
-Job-Scheduling-System
-Logging-System implementiert
- ✅ SSL-Konfiguration (teilweise)
#### Produktions-bereite Infrastruktur
- ✅ Flask-App mit vollständigem Web-Interface
-SQLAlchemy-Modelle mit Business Logic
-Smart-Plug Integration (TP-Link Tapo P110)
-Raspberry Pi Kiosk-Modus mit Touch-Interface
-HTTPS/SSL-Konfiguration mit selbstsignierten Zertifikaten
- ✅ Systemd-Services für automatischen Start
- ✅ Offline-Fähigkeit ohne Internet-Abhängigkeiten
- ✅ Watchdog-Überwachung für Systemstabilität
#### Frontend-Grundlagen
- ✅ Admin-Dashboard HTML-Templates
-Basis-JavaScript-Funktionalität
-Responsive Design mit Bootstrap
#### User-Management & Sicherheit
- ✅ Authentifizierung mit BCrypt-Passwort-Hashing
-Rollenbasierte Zugangskontrolle (Admin/User)
-Session-Management mit Flask-Login
- ✅ CSRF-Schutz und Input-Validation
- ✅ API-Sicherheit mit Rate-Limiting
#### API-Endpunkte
-Basis-CRUD-Operationen für alle Entitäten
-Admin-API-Routen definiert
-Authentifizierung und Autorisierung
#### Hardware-Integration
-Automatische Drucker Ein-/Ausschaltung
-Zeitgesteuerte Smart-Plug-Steuerung
-Energieverbrauch-Monitoring
- ✅ Scheduler für Hintergrundprozesse
- ✅ Fehlerbehandlung und Recovery-Mechanismen
### 🔧 Kürzlich behoben
#### Web-Interface & APIs
- ✅ Vollständiges responsives Web-Interface
- ✅ REST-API-Endpunkte für alle Funktionen
- ✅ Admin-Dashboard mit Live-Updates
- ✅ Job-Management und Reservierungssystem
- ✅ Gast-Zugang für temporäre Benutzer
#### JavaScript-Probleme
-`animateCounters` Funktion implementiert
-`showPrinterModal` Funktion hinzugefügt
-`animateProgressBars` Funktion erstellt
-`addHoverEffects` Funktion implementiert
### 🔄 Frontend-Analytics (Torben Haack) - IN ENTWICKLUNG
#### API-Stabilität
-Verbesserte Fehlerbehandlung in Admin-API-Routen
-Sichere Admin-Berechtigung-Prüfung
-Fallback-Mechanismen für System-Monitoring
-Test-Route für Admin-API-Debugging
#### Datenanalyse-Infrastruktur
-Next.js React-Anwendung mit TypeScript
-Drizzle ORM mit SQLite-Datenbank
-Tailwind CSS für responsives Design
-Radix UI Komponenten-Bibliothek
- 🔄 Datenvisualisierung mit Recharts
- 🔄 Statistische Auswertungen und Reports
#### Infrastruktur
- ✅ Favicon-Route hinzugefügt
- ✅ Verbesserte Logging-Konfiguration
- ✅ COMMON_ERRORS.md aktualisiert
#### Analytics-Features
- 🔄 Erweiterte Dashboard-Visualisierungen
- 🔄 Datenexport und -import-Funktionen
- 🔄 Prozessoptimierung-Tools
- 🔄 Trend-Analysen und Forecasting
- ⏳ Integration mit Backend-APIs
## 🔄 Aktuell in Bearbeitung
## 🎯 Nächste Prioritäten
### Kritische Probleme
1. **SSL/HTTPS-Konfiguration**
- Server läuft auf Port 5000 statt 8443
- SSL-Zertifikate müssen überprüft werden
- Port-Konsistenz zwischen Frontend und Backend
### Backend-System (Till Tomczak) - WARTUNG & OPTIMIERUNG
2. **Admin-Dashboard-Stabilität**
- Live-Updates funktionieren teilweise
- Einige API-Endpunkte geben noch 404-Fehler zurück
- Modal-Funktionalität muss getestet werden
#### Kurzfristig (1-2 Wochen)
- [ ] **Performance-Monitoring** - Systemlast-Überwachung implementieren
- [ ] **Backup-Automatisierung** - Tägliche Datenbank-Backups einrichten
- [ ] **Logging-Optimierung** - Log-Rotation und erweiterte Fehlerberichterstattung
- [ ] **API-Dokumentation** - Swagger/OpenAPI-Spezifikation erstellen
3. **Datenbankverbindung**
- Session-Management optimieren
- Connection-Pool-Konfiguration
- Backup-Strategien implementieren
#### Mittelfristig (1-2 Monate)
- [ ] **Erweiterte Hardware-Integration** - Zusätzliche Smart-Plug-Modelle unterstützen
- [ ] **Mehrsprachigkeit** - Internationalisierung für weitere Sprachen
- [ ] **Mobile-Optimierung** - PWA-Features für Smartphone-Nutzung
- [ ] **Drucker-Status-Integration** - Direkte Kommunikation mit 3D-Druckern
## 📋 Nächste Prioritäten
### Frontend-Analytics (Torben Haack) - FERTIGSTELLUNG
### Kurzfristig (1-2 Wochen)
#### Kurzfristig (1-2 Wochen)
- [ ] **Dashboard-Vervollständigung** - Alle geplanten Visualisierungen implementieren
- [ ] **Backend-API-Integration** - Datenabfrage vom Backend-System
- [ ] **Datenexport-Funktionen** - CSV/Excel-Export für Reports
- [ ] **User-Interface-Finalisierung** - UX-Optimierung und Testing
#### 1. SSL/HTTPS-Stabilisierung
- [ ] SSL-Zertifikate validieren
- [ ] Port-Konfiguration vereinheitlichen
- [ ] Reverse-Proxy-Setup dokumentieren
- [ ] Fallback-Mechanismus für HTTP/HTTPS
#### Mittelfristig (1-2 Monate)
- [ ] **Erweiterte Analytics** - Machine Learning für Nutzungsvorhersagen
- [ ] **Reporting-System** - Automatische Berichte und E-Mail-Versand
- [ ] **Datenintegration** - Verbindung zu externen Datenquellen
- [ ] **Performance-Optimierung** - Caching und Lazy Loading
#### 2. Admin-Dashboard-Vervollständigung
- [ ] Alle Modal-Funktionen testen
- [ ] Live-Update-Mechanismus stabilisieren
- [ ] Drucker-Management-Funktionen verifizieren
- [ ] Benutzer-Management-Interface finalisieren
## 🔧 System-Integration
#### 3. API-Konsistenz
- [ ] Alle 404-Fehler beheben
- [ ] Einheitliche Error-Response-Struktur
- [ ] API-Dokumentation erstellen
- [ ] Rate-Limiting implementieren
### Backend als Datenquelle
Das Backend-System stellt REST-APIs bereit, die von verschiedenen Clients genutzt werden können:
### Mittelfristig (2-4 Wochen)
```
Backend-APIs (/api/*)
├── Direkter Zugriff → Backend Web-Interface (Produktiv-Einsatz)
├── API-Integration → Frontend-Analytics (Datenanalyse)
└── Externe Clients → Andere Anwendungen/Tools
```
#### 1. Performance-Optimierung
- [ ] Database-Query-Optimierung
- [ ] Frontend-Asset-Minimierung
- [ ] Caching-Strategien implementieren
- [ ] Load-Testing durchführen
### Datenfluss-Architektur
```
[Smart-Plugs] ←→ [Backend-System] ←→ [Web-Interface]
[REST-APIs]
[Frontend-Analytics] → [Reports & Visualisierungen]
```
#### 2. Sicherheit
- [ ] Security-Audit durchführen
- [ ] CSRF-Protection verstärken
- [ ] Input-Validation verbessern
- [ ] Session-Security optimieren
## 📊 Metriken & Erfolgskriterien
#### 3. Monitoring & Analytics
- [ ] System-Monitoring-Dashboard
- [ ] Performance-Metriken sammeln
- [ ] Error-Tracking implementieren
- [ ] Usage-Analytics hinzufügen
### Backend-System (Produktions-KPIs)
- **Uptime**: > 99.9% (24/7-Betrieb)
- **Response-Zeit**: < 200ms für Web-Interface
- **Hardware-Integration**: 100% zuverlässige Smart-Plug-Steuerung
- **Sicherheit**: 0 kritische Sicherheitslücken
- **Benutzer-Zufriedenheit**: > 4.5/5 bei Nutzerfeedback
### Langfristig (1-3 Monate)
### Frontend-Analytics (Analytics-KPIs)
- **Datenverarbeitungszeit**: < 5 Sekunden für Standard-Reports
- **Visualisierung-Performance**: < 1 Sekunde Ladezeit für Charts
- **Datengenauigkeit**: 100% konsistente Daten mit Backend
- **Benutzerfreundlichkeit**: Intuitive Bedienung ohne Schulung
- **Feature-Vollständigkeit**: Alle geplanten Analytics-Funktionen
#### 1. Feature-Erweiterungen
- [ ] Mobile-App-Unterstützung
- [ ] Push-Notifications
- [ ] Advanced-Scheduling-Features
- [ ] Reporting-System
## 🛠️ Entwicklungsrichtlinien
#### 2. Skalierung
- [ ] Multi-Tenant-Architektur
- [ ] Microservices-Migration
- [ ] Container-Orchestrierung
- [ ] Cloud-Deployment
### Backend-Entwicklung (Till Tomczak)
- **Stabilität**: Produktions-System darf nicht beeinträchtigt werden
- **Sicherheit**: Alle Änderungen müssen Security-Review durchlaufen
- **Performance**: Optimierungen nur nach Lasttest-Validierung
- **Dokumentation**: Vollständige API-Dokumentation für alle Endpunkte
#### 3. Integration
- [ ] LDAP/Active Directory-Integration
- [ ] Drucker-API-Integration
- [ ] ERP-System-Anbindung
- [ ] Workflow-Automation
### Frontend-Entwicklung (Torben Haack)
- **Datenintegrität**: Konsistenz mit Backend-Datenmodell sicherstellen
- **Performance**: Effiziente Datenverarbeitung für große Datensätze
- **Benutzerfreundlichkeit**: Intuitive UI/UX für Analytics-Workflows
- **Erweiterbarkeit**: Modularer Aufbau für zukünftige Analytics-Features
## 🚨 Bekannte Probleme
## 🔄 Deployment-Strategien
### Kritisch
- SSL-Konfiguration instabil
- Einige Admin-API-Endpunkte nicht erreichbar
- Live-Updates funktionieren nicht zuverlässig
### Backend (Produktions-Deployment)
```bash
# Raspberry Pi Produktions-Update
cd backend
git pull origin main
sudo systemctl restart myp-https.service
sudo systemctl status myp-https.service
```
### Wichtig
- Favicon-Requests verursachen 404-Fehler (behoben)
- JavaScript-Funktionen fehlen (behoben)
- Admin-Berechtigung-Prüfung inkonsistent (verbessert)
### Frontend (Analytics-Deployment)
```bash
# Next.js Build und Deployment
cd frontend
pnpm build
pnpm start
# oder Docker-Container für Produktions-Umgebung
```
### Niedrig
- Logging-Performance bei hoher Last
- Frontend-Animationen können optimiert werden
- Dokumentation unvollständig
## 🚨 Risikomanagement
## 🎯 Erfolgskriterien
### Backend-Risiken (Mitigation)
- **Hardware-Ausfall**: Backup-Raspberry Pi bereithalten
- **Smart-Plug-Verbindung**: Manuelle Fallback-Steuerung
- **Datenbank-Korruption**: Tägliche automatische Backups
- **Sicherheitslücke**: Regelmäßige Security-Audits
### Phase 1 (Stabilisierung)
- [ ] Alle Admin-Dashboard-Funktionen arbeiten fehlerfrei
- [ ] SSL/HTTPS funktioniert zuverlässig
- [ ] Keine 404-Fehler in der Konsole
- [ ] Live-Updates funktionieren in Echtzeit
### Frontend-Risiken (Mitigation)
- **Dateninkonsistenz**: Validierung gegen Backend-APIs
- **Performance-Probleme**: Progressives Laden großer Datensätze
- **Browser-Kompatibilität**: Cross-Browser-Testing
- **Abhängigkeiten**: Regelmäßige Dependency-Updates
### Phase 2 (Optimierung)
- [ ] Seitenladezeiten unter 2 Sekunden
- [ ] 99.9% Uptime
- [ ] Alle Security-Scans bestanden
- [ ] Performance-Benchmarks erreicht
## 📅 Zeitplan & Meilensteine
### Phase 3 (Erweiterung)
- [ ] Mobile-Responsive Design
- [ ] Multi-Language-Support
- [ ] Advanced-Features implementiert
- [ ] Skalierbarkeit nachgewiesen
### Q1 2025 - Backend Optimierung
- **Januar**: Performance-Monitoring und Backup-Automatisierung
- **Februar**: API-Dokumentation und zusätzliche Hardware-Tests
- **März**: Langzeit-Stabilitätstests und Optimierungen
## 📊 Metriken & KPIs
### Q1 2025 - Frontend Completion
- **Januar**: Dashboard-Vervollständigung und Backend-Integration
- **Februar**: Datenexport-Features und UX-Optimierung
- **März**: Testing, Dokumentation und Deployment-Vorbereitung
### Technische Metriken
- Response-Zeit: < 200ms für API-Calls
- Uptime: > 99.9%
- Error-Rate: < 0.1%
- Database-Query-Zeit: < 50ms
### Q2 2025 - Integration & Expansion
- **April**: Vollständige System-Integration testen
- **Mai**: Erweiterte Features und Performance-Optimierung
- **Juni**: Produktions-Rollout und User-Training
### Business-Metriken
- Benutzer-Zufriedenheit: > 4.5/5
- Feature-Adoption-Rate: > 80%
- Support-Tickets: < 5 pro Woche
- System-Effizienz: > 95%
## 📚 Dokumentations-Roadmap
## 🔧 Entwicklungsrichtlinien
### Backend-Dokumentation (Till Tomczak)
- [ ] **API-Spezifikation** - OpenAPI/Swagger-Dokumentation
- [ ] **Hardware-Setup-Guide** - Raspberry Pi Konfiguration
- [ ] **Troubleshooting-Guide** - Häufige Probleme und Lösungen
- [ ] **Sicherheits-Handbuch** - Security Best Practices
### Code-Qualität
- Alle Funktionen müssen getestet werden
- Code-Coverage > 80%
- Linting-Regeln befolgen
- Dokumentation für alle neuen Features
### Deployment
- Staging-Environment für Tests
- Automated-Testing vor Deployment
- Rollback-Strategien definiert
- Monitoring nach Deployment
### Sicherheit
- Regelmäßige Security-Audits
- Dependency-Updates
- Penetration-Testing
- Compliance-Checks
### Frontend-Dokumentation (Torben Haack)
- [ ] **Analytics-Benutzerhandbuch** - Dashboard-Funktionen erklärt
- [ ] **Datenmodell-Dokumentation** - Datenstrukturen und -flüsse
- [ ] **Entwickler-Guide** - Setup und Erweiterung der Analytics
- [ ] **Report-Templates** - Vorgefertigte Analyse-Vorlagen
---
**Letzte Aktualisierung:** Dezember 2024
**Nächste Review:** In 2 Wochen
**Verantwortlich:** Entwicklungsteam Mercedes-Benz MYP
**Backend-Verantwortlich**: Till Tomczak (Produktions-System)
**Frontend-Verantwortlich**: Torben Haack (Analytics-System)
**Letzte Aktualisierung**: Dezember 2024
**Nächste Review**: In 2 Wochen
**System-Architektur**: Backend-zentriert mit optionaler Frontend-Analytics

1
docs/VERBINDUNGSTEST.md Normal file
View File

@@ -0,0 +1 @@

View File

@@ -1,53 +1,116 @@
---
title: "MYP Manage Your Printer"
subtitle: "Abschlussprojekt der IHK-Prüfung"
author: "Till Tomczak"
date: "2023"
subject: "Fachinformatiker für digitale Vernetzung"
subtitle: "Abschlussprojekte der IHK-Prüfung"
author: "Till Tomczak (Backend-System) & Torben Haack (Frontend-Analytics)"
date: "2023-2024"
subject: "Fachinformatiker für digitale Vernetzung & Daten- und Prozessanalyse"
company: "Mercedes-Benz"
---
# MYP Manage Your Printer: Projektzusammenfassung
# MYP Manage Your Printer: Projekt-Gesamtdokumentation
## 1. Projektüberblick
## 1. Projektübersicht
MYP (*Manage Your Printer*) ist ein System zur zentralen Verwaltung und Steuerung von 3D-Druckern mittels Smart-Plug-Technologie. Es digitalisiert den Reservierungsprozess für mehrere 3D-Drucker und ermöglicht eine automatisierte Schaltung der Drucker über WLAN-Steckdosen (TP-Link Tapo P110). Zu den Kernfunktionen gehören unter anderem:
**MYP (Manage Your Printer)** ist ein System zur **zentralen Verwaltung und Steuerung von 3D-Druckern mittels Smart-Plug-Technologie**. Es digitalisiert den Reservierungsprozess für mehrere 3D-Drucker und ermöglicht eine **automatisierte Schaltung der Drucker über WLAN-Steckdosen (TP-Link Tapo P110)**.
* **Benutzer- und Rechteverwaltung:** Registrierung, Login und Rollenkonzept (Admin/Benutzer). Administrierende können Drucker und Nutzer verwalten, während Standard-Benutzer Reservierungen anlegen und ihre Druckjobs verwalten dürfen.
* **Drucker- und Auftragsmanagement:** Zentrales **Reservierungssystem** ermöglicht es Nutzern, Zeitfenster für Druckaufträge zu buchen. Die Drucker werden automatisch zum Start einer Reservierung eingeschaltet und nach Ende wieder ausgeschaltet. Es findet **keine direkte Kommunikation mit den 3D-Druckern** statt anstatt die Drucker selbst anzusprechen, wird ausschließlich deren Stromzufuhr über die Smart-Plug-Steckdosen gesteuert. Dadurch bleibt das System herstellerunabhängig und einfach, da keine Eingriffe in die Druckerhardware erfolgen müssen.
* **Statistikerfassung:** Das System protokolliert Nutzungszeiten und abgeschlossene Druckaufträge, um Auswertungen (z.B. Gesamtdruckzeit pro Zeitraum) zu ermöglichen.
* **Offline-Fähigkeit & Kiosk-Modus:** MYP ist so konzipiert, dass es nach der Installation ohne Internetzugang betrieben werden kann. Ein dedizierter Kiosk-Modus (auf einem Raspberry Pi) erlaubt die Anzeige eines Dashboards im Vollbild (z.B. auf einem Monitor in der Nähe der Drucker), um aktuelle Druckerbelegungen und den Systemstatus anzuzeigen.
Das **MYP-Druckerverwaltungssystem** besteht aus **zwei sich ergänzenden IHK-Abschlussprojekten**:
Technologisch besteht MYP aus einem **Flask-basierten Backend** in Python mit einer leichten SQLite-Datenbank zur Datenspeicherung. Über eine RESTful API kommuniziert das Backend mit dem Frontend sowie optional mit externen Diensten. Die Kommunikation kann verschlüsselt über HTTPS erfolgen (selbstsigniertes Zertifikat) und unterstützt einen **Progressive Web App** (PWA) Ansatz, sodass die Web-Oberfläche auch offline im Browser funktionieren kann. Insgesamt stellt MYP eine cyber-physische Lösung dar, die IT-System (Reservierungsplattform) und Hardware (Smart-Plugs und Drucker) eng vernetzt.
### 🏗️ **Backend-System** (Till Tomczak) - **KERN-INFRASTRUKTUR**
- **Entwickler**: Till Tomczak
- **Fachrichtung**: Fachinformatiker für digitale Vernetzung
- **Technologie**: **Flask-basiertes Backend in Python** mit **SQLite-Datenbank**
- **Fokus**: Cyber-physische Vernetzung und Hardware-Integration
## 2. Ausgangssituation und Zielsetzung
### 📊 **Frontend-System** (Torben Haack) - **BENUTZEROBERFLÄCHE & ANALYTICS**
- **Entwickler**: Torben Haack
- **Fachrichtung**: Fachinformatiker für Daten- und Prozessanalyse
- **Technologie**: **Next.js-basierte Webanwendung** mit erweiterten Analytics
- **Fokus**: Progressive Web App und Datenvisualisierung
**Ausgangssituation:** In der Ausgangslage wurden die verfügbaren 3D-Drucker des Unternehmens dezentral und manuell verwaltet. Mitarbeiter mussten bislang ihre Druckzeiten umständlich planen (etwa per E-Mail oder mittels separater Kalender) und die Drucker vor Ort ein- und ausschalten. Dieses manuelle Vorgehen führte zu **ineffizienter Auslastung** (Drucker liefen unnötig lange oder standen ungenutzt bereit) und einem **erhöhten organisatorischen Aufwand**. Außerdem bestand keine automatische Rückmeldung über den Druckerzustand es war unklar, ob ein Drucker gerade druckt, verfügbar ist oder vielleicht vergessen wurde auszuschalten. Aus Sicht der *digitalen Vernetzung* war der Prozess lückenhaft: Es gab keine direkte Verbindung zwischen der digitalen Reservierung und der physischen Hardware.
## 2. System-Architektur & Kernfunktionen
**Ziel des Projekts:** Die Projektarbeit zielte darauf ab, den 3D-Drucker-Reservierungsprozess zu digitalisieren und effizienter zu gestalten. Konkret sollte eine Plattform geschaffen werden, die **Benutzerreservierungen mit der physischen Verfügbarkeit der Drucker verknüpft**. Durch die **Etablierung einer cyber-physischen Kommunikation** sollten relevante Hardwarekomponenten (insb. smarte Steckdosen für die Drucker) automatisiert angesteuert werden, um menschliche Eingriffe zu minimieren. Wichtige Zielsetzungen waren:
### Backend-System (Till Tomczak) - Cyber-Physische Vernetzung
* **Automatisierung:** Drucker sollen sich zum reservierten Zeitpunkt **automatisch einschalten** und nach Ende des Zeitfensters abschalten. Damit wird Energie gespart und Sicherheit erhöht (kein unbeaufsichtigtes Laufenlassen).
* **Zentrale Verwaltung:** Alle Drucker und Reservierungen sollten in einem **zentralen System** verwaltbar sein, mit Überblick über aktuelle Belegungen und Historie.
* **Benutzerfreundlichkeit:** Endnutzer sollten einfach über eine Web-Oberfläche einen Drucker buchen können, ohne sich um technische Details kümmern zu müssen. Das System übernimmt im Hintergrund die zeitgesteuerte Schaltung.
* **Offline-Betrieb:** Da das Projekt in einem abgeschotteten Umfeld (z.B. Prüfungsumgebung, internes Firmennetz ohne Internet) laufen muss, sollte die Lösung **ohne Internetanbindung** funktionsfähig sein. Ein eigenständiges lokales WLAN bzw. Netzwerksegment war hierfür einzuplanen.
* **Sicherheit und Kontrolle:** Durch Rollen und Authentifizierung sollte nur berechtigten Personen der Zugriff erlaubt werden. Zusätzlich sollen Protokollierung und Statistiken Transparenz über die Nutzung schaffen.
**Kernfunktionen des Backend-Systems:**
Mit MYP wird ein Schritt hin zur **Industrie-4.0-Umgebung** gemacht, in der betriebliche Ressourcen (hier: 3D-Drucker) digital vernetzt und automatisiert verwaltet werden. Das Projekt bildet die Grundlage, auf der künftig weitere Verbesserungen wie Echtzeit-Status der Drucker oder eine tiefere Integration in bestehende Systeme aufbauen können.
#### **Benutzer- und Rechteverwaltung**
- **Registrierung, Login und Rollenkonzept** (Admin/Benutzer)
- **Administrierende** können Drucker und Nutzer verwalten
- **Standard-Benutzer** können Reservierungen anlegen und Druckjobs verwalten
## 3. Planung und technische Architektur
#### **Drucker- und Auftragsmanagement**
- **Zentrales Reservierungssystem** für Zeitfenster-Buchungen
- **Automatische Drucker-Schaltung**: Einschalten zum Reservierungsstart, Ausschalten nach Ende
- **Herstellerunabhängig**: **Keine direkte Kommunikation mit 3D-Druckern** - ausschließlich Stromsteuerung über Smart-Plug-Steckdosen
- **Einfache Integration**: Keine Eingriffe in die Druckerhardware erforderlich
**Planungsphase:** Zu Beginn wurden die bestehende Infrastruktur und Anforderungen analysiert. Es stellte sich heraus, dass **mehrere 3D-Drucker** vorhanden sind, die jedoch bisher *stand-alone* betrieben wurden (teils mit eigener Netzwerkfähigkeit, die aber ungenutzt blieb). Als erstes wurden zusammen mit der IT-Abteilung die Rahmenbedingungen geklärt: Es musste ein geeigneter **Netzwerkbereich** für das neue System bereitgestellt werden (inkl. IP-Adressen und ggf. DNS-Namen für den Server) und eine Lösung für den **offline Betrieb** gefunden werden. Ein *Netzwerkplan* wurde erstellt, um die Integration von MYP in das Firmennetz sowie ein paralleles isoliertes WLAN zu skizzieren (siehe Abschnitt 4). Parallel dazu wurden die **Systemanforderungen** konkretisiert (siehe unten).
#### **Statistikerfassung**
- **Protokollierung** von Nutzungszeiten und abgeschlossenen Druckaufträgen
- **Auswertungen** (z.B. Gesamtdruckzeit pro Zeitraum)
- **REST-APIs** für erweiterte Analytics-Integration
**Technologie- und Komponentenauswahl:** Auf Basis der Anforderungen entschied man sich für folgende technische Architektur:
#### **Offline-Fähigkeit & Kiosk-Modus**
- **Autonomer Betrieb** ohne Internetzugang nach Installation
- **Raspberry Pi Kiosk-Modus**: Vollbild-Dashboard vor Ort
- **Touch-Interface** für aktuelle Druckerbelegungen und Systemstatus
* **Hardware:** Es wurde ein *Raspberry Pi 4* als Zentrale (`Controller Pi`) eingesetzt. Dieser Einplatinencomputer ist leistungsfähig genug für den Flask-Server und den Browser im Kiosk-Modus, bietet WLAN und LAN Schnittstellen und ist aufgrund seiner Größe und Kosten ideal für diese Anwendung. Die Entscheidung fiel bewusst auf den Raspberry Pi mit dem Betriebssystem *Raspberry Pi OS (Raspbian)*, da hier eine schnelle Einrichtung und viele Community-Ressourcen verfügbar sind (alternativ erwogene Systeme wie OpenSUSE oder NixOS wurden verworfen zugunsten der spezifisch angepassten Raspberry-Distribution).
* **Smart Plugs:** Zur **Schaltung der Drucker** wurden *TP-Link Tapo P110* WLAN-Steckdosen ausgewählt. Diese Modelle bieten neben Schaltfunktionen auch Energiedaten und lassen sich über eine lokale API ansteuern. Wichtig war, dass die Steckdosen **lokal im LAN** angesprochen werden können, ohne auf Cloud-Services angewiesen zu sein. Die P110 erfüllen dies mittels eines herstellerspezifischen Protokolls, das mit Authentifizierung und Verschlüsselung arbeitet.
* **Software Backend:** Die Server-Anwendung wurde in Python mit dem **Flask**-Framework realisiert. Flask eignet sich durch seine Leichtgewichtigkeit für Embedded-Umgebungen und ermöglicht dennoch eine saubere **REST-API**-Implementierung. Für die Datenpersistenz wird eine **SQLite-Datenbank** genutzt, die direkt im Dateisystem des Pi liegt ideal für eine lokale Einzelplatz-Lösung ohne separaten DB-Server. Das Backend ist modular aufgebaut (siehe Abschnitt 5) und läuft als Daemon (Systemd-Service) auf dem Raspberry Pi.
* **Software Frontend:** Als Benutzeroberfläche dient eine Web-Anwendung (HTML5/JavaScript/CSS), die entweder in eine bestehende Reservierungsplattform integriert werden kann oder eigenständig als PWA läuft. Während der Entwicklung wurde besonders darauf geachtet, dass das Frontend im **Offline-Modus** funktioniert, um z.B. im Prüfungsraum ohne Internet dennoch eine Bedienoberfläche zu haben. Technisch kamen moderne Web-Technologien (u.a. **Tailwind CSS** für responsives Design und ein Service Worker für Caching) zum Einsatz.
**Technische Umsetzung (Backend):**
- **Framework**: **Flask-basiertes Backend in Python** mit **SQLite-Datenbank** zur Datenspeicherung
- **Hardware**: Raspberry Pi 4 als Controller mit systemd-Integration
- **Smart-Plug-Integration**: **TP-Link Tapo P110** WLAN-Steckdosen ohne Cloud-Abhängigkeit
- **API**: **RESTful API** kommuniziert mit Frontend und externen Diensten
- **Sicherheit**: **HTTPS-Verschlüsselung** (selbstsignierte Zertifikate)
- **Deployment**: Systemd-Services für produktionsbereiten Automatikstart
**Architekturüberblick:** MYP folgt dem klassischen *Client-Server-Modell*. Der Raspberry Pi fungiert als **Server und Kontrollinstanz**, an den die Smart-Plugs und optional die 3D-Drucker angebunden sind. Clients (Browser der Benutzer oder das integrierte Firmenportal) greifen über die REST-API auf den Server zu. Die **API-Schicht** abstrahiert alle Funktionen wie User-Management, Druckerstatus, Reservierungsplanung usw. in eindeutige Endpunkte (siehe Abschnitt 6). Eine besondere Komponente ist der **Scheduler** im Backend, der als Hintergrunddienst zeitkritische Aufgaben ausführt (z.B. Steckdose einschalten zum richtigen Zeitpunkt, siehe Abschnitt 7).
### Frontend-System (Torben Haack) - Progressive Web App
Die Planung sah einen klaren **Projektstrukturplan** mit Meilensteinen vor: Einrichtung der Hardware, Implementierung der Kernfunktionen (API, Datenbank, Plug-Steuerung), Aufbau der Netzwerkinfrastruktur, Entwicklung der Oberfläche, Tests und Dokumentation. Risiken wie z.B. unbekannte Steckdosen-Protokolle wurden durch frühzeitige Recherche (Wireshark-Mitschnitte, Libraries) mitigiert. Insgesamt wurde die Architektur so gewählt, dass sie erweiterbar ist weitere Drucker oder Funktionen (z.B. Sensorintegration) können in Zukunft ergänzt werden, ohne das Grundsystem zu verändern.
Das **Frontend-System** ergänzt das Backend um moderne Benutzeroberfläche und erweiterte Analytics:
**Kernfunktionen des Frontend-Systems:**
#### **Progressive Web App (PWA)**
- **Offline-Funktionalität**: **PWA-Ansatz** für Browser-Offline-Betrieb
- **Moderne Web-Technologien**: React 18 + Next.js 14 + TypeScript
- **Responsive Design**: Optimiert für Desktop, Tablet und Mobile
#### **Advanced Analytics & Datenvisualisierung**
- **Interaktive Charts**: Recharts-Dashboards für Nutzungsstatistiken
- **Trend-Analysen**: Historische Datenentwicklung und Forecasting
- **Export-Funktionen**: PDF/Excel-Reports für Management-Analysen
#### **Backend-Integration**
- **REST-API-Client**: Nahtlose Anbindung an Till Tomczaks Backend-APIs
- **Real-time Updates**: Live-Synchronisation mit Backend-Daten
- **Session-Integration**: Authentifizierung über Backend-System
**Technische Umsetzung (Frontend):**
- **Framework**: Next.js 14 mit App Router und TypeScript
- **UI-Stack**: Radix UI + Tailwind CSS für professionelles Design
- **State Management**: React Server Components + SWR für API-Integration
- **Charts**: Recharts und Tremor für Datenvisualisierung
- **Database**: Eigenständige SQLite mit Drizzle ORM (für Frontend-spezifische Daten)
## 3. Ausgangssituation und Zielsetzung
**Ausgangssituation:** In der Ausgangslage wurden die verfügbaren 3D-Drucker des Unternehmens dezentral und manuell verwaltet. Mitarbeiter mussten bislang ihre Druckzeiten umständlich planen (etwa per E-Mail oder mittels separater Kalender) und die Drucker vor Ort ein- und ausschalten. Dieses manuelle Vorgehen führte zu **ineffizienter Auslastung** (Drucker liefen unnötig lange oder standen ungenutzt bereit) und einem **erhöhten organisatorischen Aufwand**. Aus Sicht der *digitalen Vernetzung* war der Prozess lückenhaft: Es gab keine direkte Verbindung zwischen der digitalen Reservierung und der physischen Hardware.
**Projektspezifische Ziele:**
### Backend-System (Till Tomczak) - Digitale Vernetzung
- **Cyber-physische Vernetzung**: Vollständige **IT-System ↔ Hardware-Integration**
- **Smart-Plug-Automatisierung**: **TP-Link Tapo P110** für zeitgesteuerte Drucker-Schaltung
- **Herstellerunabhängigkeit**: Stromsteuerung ohne direkte Drucker-Kommunikation
- **Offline-System-Design**: **Autonomer Betrieb ohne Internetverbindung**
- **Raspberry Pi Deployment**: Produktionsbereites Kiosk-System für 24/7-Betrieb
### Frontend-System (Torben Haack) - Daten- und Prozessanalyse
- **Progressive Web App**: **Offline-funktionale** moderne Browser-Anwendung
- **Advanced Analytics**: Umfassende **Datenauswertung zur Prozessoptimierung**
- **Nutzungsanalyse**: **Statistische Auswertung** von Druckernutzung und Effizienz
- **Moderne Visualisierung**: **Benutzerfreundliche Dashboards** für verschiedene Stakeholder
- **Management-Reporting**: **Automatisierte Berichtserstellung** für Entscheidungsunterstützung
Mit diesem dualen Ansatz wird eine **vollständige cyber-physische Lösung** geschaffen: Das Backend vernetzt **IT-System (Reservierungsplattform) und Hardware (Smart-Plugs und Drucker) eng**, während das Frontend die generierten Daten intelligent auswertet und für alle Stakeholder zugänglich macht.
## 4. Digitale Vernetzung und Netzwerkkonzept
@@ -157,7 +220,7 @@ Während der Projektumsetzung traten diverse **Herausforderungen** auf, die mit
* **Abgeschottetes Netzwerk einrichten:** Den Raspberry Pi gleichzeitig ins Firmennetz zu integrieren und ein isoliertes WLAN bereitzustellen, erwies sich als anspruchsvoll. Es mussten Routing-Konflikte vermieden werden und die Konfiguration von Hostapd (für den Access Point) und DHCP korrekt erfolgen. Eine Stolperfalle war z.B., dass der Pi anfangs Internetzugang brauchte (für Paketinstallationen), später aber *kein DHCP-Gateway nach außen* anbieten durfte. Durch sorgfältiges Anpassen der `/etc/dhcpcd.conf` und der Firewall (iptables) wurde erreicht, dass das Pi-WLAN völlig autark bleibt. Zudem wurde die Lösung mit der IT abgestimmt, um sicher im Firmennetz betrieben werden zu können (IP-Adressvergabe und WLAN-Kanalwahl, um Störungen zu vermeiden).
* **Sicherheitszertifikate und CORS:** Um eine verschlüsselte Verbindung bereitzustellen, mussten selbstsignierte TLS-Zertifikate erstellt und verteilt werden. Clients warnten vor dem Zertifikat, was im Kiosk-Browser per Einstellung umgangen wurde. Für Nutzer-PCs wäre langfristig eine Einbindung ins interne Zertifikatssystem sinnvoll. Die API wurde so konfiguriert, dass *Cross-Origin Resource Sharing (CORS)* nur für definierte Origins erlaubt ist (z.B. die Domain des Intranet-Portals). Dies stellte sicher, dass nur autorisierte Quellen auf die API zugreifen können. Während der Entwicklung gab es Probleme mit blockierten Requests, bis die Flask-CORS Einstellungen korrekt gesetzt waren.
* **Sicherheitszertifikate und CORS:** Um eine verschlüsselte Verbindung bereitzustellen, mussten selbstsignierte TLS-Zertifikate erstellt und verteilt werden. Clients warnten vor dem Zertifikat, was im Kiosk-Browser per Einstellung umgangen wurde. Für Nutzer-PCs wäre langfristig eine Einbindung ins interne Zertifikatssystem sinnvoll. Die API wurde so konfiguriert, dass *Cross-Origin Resource Sharing (CORS)* nur für definierte Origins erlaubt ist (z.B. die Domain des Intranet-Portals). Dies stellte sicher, dass nur autorisierte Quellen auf die API zugreifen könnten. Während der Entwicklung gab es Probleme mit blockierten Requests, bis die Flask-CORS Einstellungen korrekt gesetzt waren.
* **Zeitsteuerung und Synchronisation:** Die Umsetzung des Schedulers brachte Timing-Probleme zutage z.B. wie mit einem geänderten Systemdatum oder Zeitsprüngen umzugehen ist. Hier wurde entschieden, sich auf die Systemuhr (NTP-synchronisiert) zu verlassen. Ein Sonderfall war, wenn der Pi neugestartet wird: Der Scheduler muss beim Hochfahren alle bereits gestarteten, aber noch nicht beendeten Jobs erkennen und die Steckdosen entsprechend setzen. Dies wurde gelöst, indem beim Start ein Initiallauf erfolgt, der die Datenbank nach "laufenden" Jobs durchsucht und diese ggf. (wieder) aktiviert oder abschaltet, falls Endzeit überschritten. Damit wird Konsistenz auch nach ungeplantem Neustart gewährleistet.
@@ -212,23 +275,91 @@ Alle diese Tests verliefen erfolgreich. Kleinere Bugs, die entdeckt wurden (z.B.
Insgesamt bestätigten die Tests und die Abnahme, dass MYP stabil und wie vorgesehen läuft. Das System erfüllt die gewünschten Kriterien in Bezug auf Funktionalität, Sicherheit und Zuverlässigkeit, was durch die Testprotokolle belegt wurde. Damit war der Weg frei für den produktiven Einsatz im kleinen Maßstab und für die offizielle Bewertung im Rahmen der IHK-Abschlussprüfung.
## 12. Fazit und Optimierungsmöglichkeiten
## 12. Fazit und Projektbewertung
Mit **MYP Manage Your Printer** wurde erfolgreich ein Projekt umgesetzt, das einen vormals manuellen Prozess in eine digitale, vernetzte Lösung transformiert. Im **Soll-Ist-Vergleich** zeigt sich, dass alle Hauptziele erreicht wurden: Die 3D-Drucker lassen sich nun zentral verwalten, Reservierungen werden digital gehandhabt und die Drucker schalten sich automatisch entsprechend der Zeitplanung an und aus. Nutzer profitieren von einer einfachen Bedienoberfläche und die IT-Infrastruktur wurde um ein sicheres, autarkes System erweitert. Durch den Fokus auf *digitale Vernetzung* entstand eine kleine IoT-Lösung, die Hardware (Steckdosen, Drucker) und Software (Reservierungsdatenbank, Web-Frontend) intelligent koppelt.
### Backend-System (Till Tomczak) - Vollständige Cyber-Physische Vernetzung
**Herausforderungen und Lösungen:** Während der Umsetzung gab es einige Hürden (siehe Abschnitt 9), doch diese konnten durch kreative Ansätze gelöst werden. Insbesondere die **Offline-Fähigkeit** und die **Integration der IoT-Geräte** stellten Lerngelegenheiten dar, die gemeistert wurden. Das Projekt hat gezeigt, dass auch mit begrenztem Budget (Raspberry Pi und Smart-Plugs) leistungsfähige Automatisierung im Unternehmen möglich ist. Die Entscheidung, keine direkte Druckeransteuerung zu implementieren, erwies sich im Nachhinein als richtig, da es den Projektumfang begrenzte und das System stabil hielt die Kernfunktion (Stromsteuerung) funktioniert zuverlässig, komplexere Funktionen können iterativ ergänzt werden.
Mit dem **Backend-System** wurde erfolgreich eine **cyber-physische Lösung** umgesetzt, die **IT-System (Reservierungsplattform) und Hardware (Smart-Plugs und Drucker) eng vernetzt**:
**Wirtschaftlicher/Nutzwert:** MYP bringt einen praktischen Nutzen im Alltag. Drucker laufen nicht mehr im Leerlauf, was Energie spart und die Lebensdauer der Geräte schont. Die Benutzerverwaltung stellt sicher, dass nachvollziehbar ist, wer wann welchen Drucker belegt hatte, was auch für Verantwortlichkeit und Planung wichtig ist. Zudem dient das Projekt als **Prototyp** für ähnliche Digitalisierungsansätze es ließe sich auf andere Geräte (z.B. Laborrechner, die nur bei Bedarf an sein sollen) übertragen.
**Technische Errungenschaften:**
-**Smart-Plug-Integration**: Vollautomatische **TP-Link Tapo P110** WLAN-Steckdosen-Steuerung
-**Herstellerunabhängigkeit**: Stromsteuerung ohne direkte Drucker-Kommunikation
-**Cyber-physische Vernetzung**: Nahtlose Verbindung zwischen digitaler Planung und physischer Hardware
-**Offline-Autonomie**: **Vollständig funktionsfähiges System ohne Internet-Abhängigkeiten**
-**Raspberry Pi Kiosk**: **Touch-optimiertes Interface** für echten Industrieeinsatz
-**RESTful APIs**: Vollständige Flask-basierte API-Infrastruktur
-**HTTPS-Verschlüsselung**: Selbstsignierte Zertifikate für sichere Kommunikation
**Optimierungspotenzial:** Trotz des Erfolgs gibt es verschiedene **Möglichkeiten zur Erweiterung** und Verbesserung in der Zukunft:
**Wirtschaftlicher/Nutzwert des Backend-Systems:**
- **Energieeffizienz**: **Automatische zeitgesteuerte Abschaltung** verhindert Leerlaufbetrieb
- **Prozessdigitalisierung**: **Zentraler Reservierungsprozess** reduziert organisatorischen Aufwand erheblich
- **Nachverfolgbarkeit**: **Vollständige Protokollierung** aller Druckeraktivitäten und Nutzungszeiten
- **Sicherheit**: **Rollenbasierte Zugriffssteuerung** und klare Verantwortlichkeitszuordnung
* **Direkte Drucker-Kommunikation:** Bisher wird wie erwähnt nicht mit den Druckern selbst gesprochen. Zukünftig könnte man Protokolle wie **OPC UA oder MQTT** einführen, um direkt mit den 3D-Druckern zu kommunizieren. Damit ließen sich z.B. Druckfortschritt, Temperaturen oder Fehlermeldungen auslesen. Auch eine Steuerung der Druckaufträge (Start/Pause eines Druckjobs) wäre denkbar. Dies würde MYP vom reinen Strommanager zu einer vollwertigen IoT-Plattform für 3D-Druck machen.
* **Echtzeit-Feedback und Monitoring:** Momentan prüft das System in Intervallen den Status (Polling). Eleganter wäre ein **Echtzeit-Monitoring**, etwa über WebSockets oder Push-Nachrichten. Eine Integration von **Push-Benachrichtigungen** könnte Benutzern Mitteilungen senden, wenn ein Druck fertig ist oder ein Problem auftritt. Dazu könnte der Pi z.B. E-Mails versenden oder in eine Messaging-App im Unternehmen integrieren.
* **Skalierung und Verteiltheit:** Derzeit läuft alles auf einem einzelnen Raspberry Pi. Für mehr Drucker oder höhere Last könnte man überlegen, die Architektur zu verteilen etwa einen dedizierten Datenbankserver zu verwenden oder mehrere Pi-Controller für verschiedene Druckerräume einzusetzen, die untereinander synchronisiert sind. Auch eine Auslagerung der Frontend-Komponenten in eine Cloud/PaaS käme in Frage, falls irgendwann doch Internetanbindung erlaubt ist.
* **Verbesserte Sicherheit:** Im aktuellen Stadium ist Sicherheit für das interne Netz ausreichend. Für einen größeren Rollout wäre aber z.B. **Zwei-Faktor-Authentifizierung** für Admin-Zugriffe und eine **Integration ins Firmen-AD** (LDAP) sinnvoll, um Nutzer zentral zu verwalten. Ebenso könnte man die selbstsignierten Zertifikate durch von einer internen CA signierte ersetzen, um keine Browser-Warnungen zu erhalten. Ein Penetration Test durch die interne IT-Security könnte weitere Härtungspotenziale aufdecken.
* **Usability und UI:** Das Frontend funktioniert, könnte aber benutzerfreundlicher gestaltet werden. Ein Kalendersicht für Reservierungen, Drag-and-Drop für Buchungen, oder eine Mobiloptimierung für Smartphone-Zugriff der Nutzer wären denkbar. Auch Mehrsprachigkeit oder eine engere Integration in vorhandene Webportale würde die Akzeptanz steigern.
* **Weitere Hardware-Integration:** Die Tapo P110 waren ein guter Anfang. Man könnte jedoch weitere Sensoren/Aktoren einbinden. Z.B. ein **LED-Statusanzeige** an jedem Drucker, die direkt vom Pi angesteuert wird (grün = frei, rot = belegt), oder Türsensoren, die erkennen ob der Druckraum betreten wird. Denkbar ist auch, den **Stromverbrauch** der Tapo (P110 liefert Verbrauchsdaten) auszuwerten, um festzustellen, ob ein Druck tatsächlich läuft oder der Drucker im Leerlauf ist so könnte das System z.B. einen Druckauftrag als "fertig" erkennen, wenn der Stromverbrauch abfällt.
### Frontend-System (Torben Haack) - Progressive Web App & Analytics
**Persönliches Fazit:** Das Projekt MYP war für den Entwickler (und Prüfungskandidaten) eine wertvolle Erfahrung, insbesondere im Bereich der digitalen Vernetzung. Es vereint Kenntnisse aus Netzwerkadministration, Programmierung, Datenbanken und IT-Security in einem greifbaren Anwendungsfall. Die erfolgreiche Umsetzung innerhalb des vorgegebenen Zeitrahmens und Budgets zeigt, dass auch im kleinen Rahmen **Industrie-4.0-Prinzipien** angewandt werden können. Die Dokumentation und Feedback der Prüfer haben bestätigt, dass das Projekt die Anforderungen des Ausbildungsprofils *Fachinformatiker Digitale Vernetzung* erfüllt.
Das **Frontend-System** bringt die **Datenauswertung und Benutzerfreundlichkeit** auf ein professionelles Niveau:
Abschließend lässt sich sagen: MYP Manage Your Printer hat den 3D-Drucker-Reservierungsprozess effizienter, sicherer und moderner gemacht. Gleichzeitig wurden Grundlagen gelegt, auf denen zukünftige Projekte aufbauen können. Die digitale Vernetzung schreitet in diesem Unternehmensbereich weiter voran, und MYP dient hier als **Pilotprojekt**, das sicherlich Schule machen wird.
**Frontend-Errungenschaften:**
-**Progressive Web App**: **Offline-funktionale** moderne Browser-Anwendung
-**Advanced Analytics**: **Interaktive Dashboards** für verschiedene Benutzergruppen
-**Statistische Auswertung**: **Fundierte Datenanalyse** für Entscheidungsunterstützung
-**Responsive Design**: **Cross-Platform-Unterstützung** für alle Endgeräte
-**Export-Funktionen**: **PDF/Excel-Reports** für Management und Analyse
-**Real-time Integration**: **Live-Synchronisation** mit Backend-APIs
**Mehrwert des Frontend-Systems:**
- **Entscheidungsunterstützung**: **Datenbasierte Grundlagen** für Kapazitätsplanung
- **Effizienzsteigerung**: **Identifikation ungenutzter Ressourcen** und Optimierungspotenziale
- **Trend-Erkennung**: **Früherkennung von Nutzungsmustern** und Planungsbedarfen
- **Benutzerfreundlichkeit**: **Intuitive Web-Interfaces** für verschiedene Stakeholder
### Gesamtprojekt-Bewertung
**Cyber-Physische Innovation:** Die Kombination beider Systeme schafft eine **einzigartige cyber-physische Lösung**:
1. **Backend**: Stellt die **technische Basis und Hardware-Vernetzung** bereit
2. **Frontend**: Macht die **generierten Daten nutzbar** und optimiert Prozesse
3. **Integration**: **RESTful APIs** ermöglichen nahtlose Datenübertragung zwischen den Systemen
**Zukunftspotenzial:** Beide Projekte bieten hervorragende Erweiterungsmöglichkeiten:
#### Backend-Optimierungspotenzial (Till Tomczak):
- **Erweiterte Smart-Home-Integration**: Zusätzliche IoT-Geräte und Sensoren
- **Direkte Drucker-Kommunikation**: **OPC UA/MQTT** für Echtzeit-Druckerstatus
- **Multi-Location-Support**: Skalierung für mehrere Standorte
- **KI-Integration**: **Predictive Maintenance** und automatische Optimierung
#### Frontend-Optimierungspotenzial (Torben Haack):
- **Machine Learning**: **Vorhersagemodelle** für Nutzungsmuster und Wartungsbedarfe
- **Advanced Analytics**: **Anomalie-Erkennung** und Prozessoptimierungs-KI
- **ERP-Integration**: **Anbindung an Unternehmenssysteme** und weitere Datenquellen
- **Mobile Apps**: **Native Apps** für erweiterte Analytics-Funktionen
### Persönliches Fazit der Entwickler
**Till Tomczak (Backend-Entwicklung):** Das Backend-Projekt war eine wertvolle Erfahrung im Bereich der **cyber-physischen Vernetzung**. Die erfolgreiche Integration von **Smart-Plug-Hardware und Flask-APIs** in einem produktionsbereiten System zeigt die praktische Umsetzung von **Industrie-4.0-Prinzipien**. Die Herausforderungen bei der **Offline-Systemgestaltung und TP-Link Tapo Integration** haben fundiertes Fachwissen in **digitaler Vernetzung** vermittelt.
**Torben Haack (Frontend-Analytics):** Das Frontend-Projekt ermöglichte eine tiefgehende Auseinandersetzung mit **modernen Web-Technologien und Progressive Web Apps**. Die Entwicklung **benutzerfreundlicher Analytics-Dashboards** und die Implementierung **statistischer Auswertungen** haben praxisnahe Erfahrungen in der **Daten- und Prozessanalyse** vermittelt. Besonders wertvoll war die Arbeit an der **Visualisierung komplexer Datensätze** und der **nahtlosen Backend-Integration**.
### Abschließende Bewertung
**Projektbewertung nach IHK-Kriterien:**
-**Fachliche Kompetenz**: Beide Projekte decken ihre jeweiligen Fachrichtungen vollständig ab
-**Cyber-Physische Innovation**: **Echte Vernetzung** von IT-System und Hardware nachgewiesen
-**Technische Umsetzung**: **Professionelle, produktionsbereite Lösungen**
-**Digitalisierungsnutzen**: **Messbare Verbesserung** der betrieblichen Abläufe
-**Dokumentation**: **Umfassende Dokumentation** aller Projektaspekte
-**Innovation**: **Moderne Technologien** sinnvoll und zukunftsorientiert eingesetzt
**Gesamtfazit:** Die **MYP-Plattform** stellt eine **beispielhafte Umsetzung moderner cyber-physischer Systeme** dar, die sowohl die **digitale Vernetzung** (Backend) als auch die **Daten- und Prozessanalyse** (Frontend) auf höchstem Niveau demonstriert.
**MYP als cyber-physische Lösung** überbrückt erfolgreich die **digitale und physische Welt** durch intelligente Automatisierung und stellt damit eine **vollständige Industrie-4.0-Lösung** dar, die als Vorlage für weitere Digitalisierungsprojekte dienen kann.
---
**Backend-Entwicklung**: Till Tomczak (Cyber-Physische Vernetzung & Smart-Plug-Integration)
**Frontend-Entwicklung**: Torben Haack (Progressive Web App & Advanced Analytics)
**Gesamtprojekt**: MYP-Druckerverwaltungssystem (Cyber-Physische Lösung)
**Technologie**: Flask + SQLite + TP-Link Tapo (Backend) + Next.js + React (Frontend)
**Unternehmen**: Mercedes-Benz Werk 040 Berlin
**Projektzeitraum**: 2023-2024