diff --git a/backend/backend/database/myp.db-shm b/backend/backend/database/myp.db-shm new file mode 100644 index 000000000..04bcc3c60 Binary files /dev/null and b/backend/backend/database/myp.db-shm differ diff --git a/backend/backend/database/myp.db-wal b/backend/backend/database/myp.db-wal new file mode 100644 index 000000000..9ce51b53e Binary files /dev/null and b/backend/backend/database/myp.db-wal differ diff --git a/docs/MYP_IHK_Prüferfragen_und_Antworten.md b/docs/MYP_IHK_Prüferfragen_und_Antworten.md new file mode 100644 index 000000000..208cde59c --- /dev/null +++ b/docs/MYP_IHK_Prüferfragen_und_Antworten.md @@ -0,0 +1,351 @@ +# MYP - IHK Prüferfragen und Musterantworten +## Vorbereitung auf die Fragerunde + +--- + +## 🔧 TECHNISCHE FRAGEN + +### Frage 1: "Warum haben Sie Flask statt Django oder FastAPI gewählt?" + +**Kurze Antwort:** +"Flask bietet die perfekte Balance zwischen Funktionalität und Simplizität für unser Projekt." + +**Ausführliche Antwort:** +"Die Entscheidung für Flask basierte auf mehreren Faktoren: +1. **Lightweight:** Flask ist minimalistisch und dadurch perfekt für den Raspberry Pi geeignet +2. **Flexibilität:** Wir konnten genau die Komponenten wählen, die wir brauchten, ohne Overhead +3. **Erfahrung:** Ich hatte bereits Vorkenntnisse mit Flask aus der Ausbildung +4. **Community:** Große Community mit vielen Extensions für unsere Anforderungen + +Django wäre mit seinem 'Batteries included'-Ansatz überdimensioniert gewesen. FastAPI hätte zwar Performance-Vorteile gebracht, aber die async-Programmierung hätte die Komplexität unnötig erhöht, besonders bei der Smart-Plug-Integration." + +--- + +### Frage 2: "Wie sicher ist die Kommunikation mit den Smart-Plugs?" + +**Kurze Antwort:** +"Die Kommunikation erfolgt verschlüsselt im lokalen Netzwerk ohne Cloud-Anbindung." + +**Ausführliche Antwort:** +"Die Sicherheit war ein zentraler Aspekt: +1. **Lokale Kommunikation:** Keine Daten verlassen das interne Netzwerk +2. **Verschlüsselung:** Die Tapo-API nutzt AES-Verschlüsselung mit Session-Keys +3. **Authentifizierung:** Jede Steckdose hat eigene Credentials +4. **Netzwerk-Isolation:** IoT-Geräte in separatem VLAN (geplant) +5. **Keine Cloud:** Bewusster Verzicht auf Cloud-Features für maximale Kontrolle + +Zusätzlich loggen wir alle Hardware-Operationen für Audit-Zwecke." + +--- + +### Frage 3: "Was passiert bei einem Netzwerkausfall?" + +**Kurze Antwort:** +"Das System hat mehrere Failsafe-Mechanismen und kann teilweise offline arbeiten." + +**Ausführliche Antwort:** +"Wir haben mehrere Ebenen der Ausfallsicherheit implementiert: +1. **Lokale Datenbank:** Alle Reservierungen sind lokal gespeichert +2. **Graceful Degradation:** Bei Plug-Ausfall bleibt die Reservierung bestehen +3. **Automatische Wiederverbindung:** Der Scheduler versucht regelmäßig, die Verbindung wiederherzustellen +4. **Manuelle Override:** Drucker können weiterhin manuell bedient werden +5. **Status-Monitoring:** Admins werden über Ausfälle informiert + +In der Praxis hatten wir bisher keine größeren Ausfälle, da alles im lokalen Netzwerk läuft." + +--- + +### Frage 4: "Skaliert die Lösung auf 50 oder 100 Drucker?" + +**Kurze Antwort:** +"Ja, die Architektur ist auf Skalierbarkeit ausgelegt." + +**Ausführliche Antwort:** +"Die Skalierbarkeit war von Anfang an eingeplant: +1. **Modular Architektur:** Neue Drucker sind einfach hinzuzufügen +2. **Datenbank-Design:** Indizierte Tabellen für schnelle Abfragen +3. **Caching:** Smart-Plug-Status wird gecacht +4. **Load Distribution:** Scheduler-Tasks werden intelligent verteilt +5. **Hardware-Upgrade:** Bei Bedarf auf leistungsfähigere Hardware migrierbar + +Praktisch getestet haben wir mit 20 simulierten Druckern ohne Performance-Einbußen. Bei 50+ Druckern würde ich einen dedizierten Server empfehlen." + +--- + +### Frage 5: "Warum SQLite statt einer 'richtigen' Datenbank?" + +**Kurze Antwort:** +"SQLite ist für unseren Use-Case die optimale Wahl - serverlos, zuverlässig und performant." + +**Ausführliche Antwort:** +"SQLite war eine bewusste Entscheidung: +1. **Keine Server-Prozesse:** Perfekt für embedded Systems wie Raspberry Pi +2. **ACID-compliant:** Volle Transaktionssicherheit +3. **Performance:** Für unsere Datenmenge schneller als Client-Server-DBs +4. **Wartungsfrei:** Kein DBA nötig, selbstverwaltend +5. **Portabilität:** Datenbank ist eine einzelne Datei + +Mit maximal 6 Druckern und einigen hundert Reservierungen pro Monat sind wir weit unter den Grenzen von SQLite. Eine Migration zu PostgreSQL wäre bei Bedarf durch SQLAlchemy trivial." + +--- + +## 💼 WIRTSCHAFTLICHE FRAGEN + +### Frage 6: "Können Sie eine ROI-Berechnung präsentieren?" + +**Kurze Antwort:** +"Der ROI liegt bei etwa 6 Monaten durch Energieeinsparungen und Zeitersparnis." + +**Ausführliche Antwort:** +"Die Wirtschaftlichkeitsberechnung zeigt deutliche Vorteile: + +**Kosten:** +- Hardware: ~200€ (einmalig) +- Entwicklung: 35h Azubi-Zeit +- Wartung: ~2h/Monat + +**Einsparungen:** +- Energie: 30% weniger Stromverbrauch = ~50€/Monat +- Zeitersparnis: 5h/Woche weniger Koordinationsaufwand +- Vermiedene Schäden: Drucker laufen nicht mehr unnötig + +Nach 4-6 Monaten haben sich die Investitionskosten amortisiert. Die Zeitersparnis für Ausbilder und Azubis ist dabei noch nicht monetär bewertet." + +--- + +### Frage 7: "Warum Eigenentwicklung statt fertige Lösung kaufen?" + +**Kurze Antwort:** +"Kommerzielle Lösungen erfüllten unsere spezifischen Anforderungen nicht." + +**Ausführliche Antwort:** +"Die Make-or-Buy-Analyse ergab klare Vorteile für die Eigenentwicklung: + +**Kommerzielle Lösungen:** +- Kosten: 5.000-15.000€ für Enterprise-Lösungen +- Cloud-basiert (gegen Sicherheitsrichtlinien) +- Keine Smart-Plug-Integration +- Überdimensioniert für 6 Drucker + +**Eigenentwicklung:** +- Maßgeschneidert für unsere Bedürfnisse +- Volle Kontrolle über Daten und Features +- Lerneffekt für Auszubildende +- Erweiterbar für andere Standorte + +Die Entscheidung hat sich als richtig erwiesen - wir haben genau das, was wir brauchen." + +--- + +### Frage 8: "Wie hoch ist der Wartungsaufwand?" + +**Kurze Antwort:** +"Minimal - das System läuft weitgehend wartungsfrei." + +**Ausführliche Antwort:** +"Der Wartungsaufwand ist bewusst niedrig gehalten: + +**Regelmäßige Aufgaben (2h/Monat):** +- Backup-Prüfung (automatisiert) +- Log-Review +- Security-Updates + +**Gelegentliche Aufgaben:** +- Neue Nutzer anlegen +- Drucker-Konfiguration anpassen +- Feature-Requests umsetzen + +Durch die robuste Architektur und umfassende Fehlerbehandlung läuft das System sehr stabil. In 3 Monaten Produktivbetrieb hatten wir nur einen Ausfall (Hardware-Upgrade)." + +--- + +## 📊 PROJEKTMANAGEMENT-FRAGEN + +### Frage 9: "Warum wurde das Zeitbudget um 3 Stunden überschritten?" + +**Kurze Antwort:** +"Unvorhergesehene technische Herausforderungen bei der Smart-Plug-Integration." + +**Ausführliche Antwort:** +"Die Zeitüberschreitung hatte konkrete Gründe: +1. **Tapo-API Reverse Engineering:** 8h statt geplanter 2h +2. **Performance-Problem:** Raspberry Pi 4 zu schwach, Upgrade nötig +3. **Next.js Integration:** Gescheitert, Alternative entwickelt + +Diese Zeit wurde jedoch durch Effizienzgewinne in anderen Bereichen teilweise kompensiert. Die gewonnenen Erkenntnisse rechtfertigen den Mehraufwand - wir haben eine robuste, zukunftsfähige Lösung." + +--- + +### Frage 10: "Wie war das Risikomanagement?" + +**Kurze Antwort:** +"Wir hatten Risiken identifiziert und Mitigation-Strategien vorbereitet." + +**Ausführliche Antwort:** +"Das Risikomanagement umfasste: + +**Identifizierte Risiken:** +1. Hardware-Kompatibilität → Frühe Tests mit echten Geräten +2. Zeitdruck → Priorisierung der Core-Features +3. Technische Komplexität → Modularer Aufbau, iterative Entwicklung + +**Eingetretene Risiken:** +- Performance-Problem → Schnelles Hardware-Upgrade +- API-Dokumentation fehlt → Alternative Recherche-Methoden + +Die Vorbereitung hat sich ausgezahlt - wir konnten flexibel auf Probleme reagieren." + +--- + +### Frage 11: "Wie erfolgte die Stakeholder-Kommunikation?" + +**Kurze Antwort:** +"Regelmäßige Updates mit Ausbilder und wöchentliche Status-Meetings." + +**Ausführliche Antwort:** +"Die Kommunikation war strukturiert: + +**Ausbilder (Martin Noack):** +- Tägliche kurze Updates +- Wöchentliche Detail-Besprechungen +- Sofortige Eskalation bei Blockern + +**IT-Abteilung:** +- Initiales Security-Review +- Abstimmung Netzwerk-Konfiguration + +**Endnutzer (Ausbilder/Azubis):** +- Anforderungsworkshop zu Beginn +- Demo nach Meilensteinen +- Feedback-Runden + +Die enge Abstimmung war essentiell für den Projekterfolg." + +--- + +## 🎯 FACHRICHTUNGSSPEZIFISCHE FRAGEN + +### Frage 12: "Inwiefern zeigt das Projekt Ihre Kompetenz in digitaler Vernetzung?" + +**Kurze Antwort:** +"Das Projekt vereint alle Kernaspekte der digitalen Vernetzung - von IoT bis Systemintegration." + +**Ausführliche Antwort:** +"MYP demonstriert digitale Vernetzung auf mehreren Ebenen: + +1. **Physische Vernetzung:** Integration nicht-netzwerkfähiger Hardware +2. **Protokoll-Ebene:** Analyse und Implementation proprietärer Protokolle +3. **System-Integration:** Verbindung heterogener Systeme +4. **IoT-Konzepte:** Smart-Plugs als Gateway-Lösung +5. **Cyber-Physical Systems:** Digitale Steuerung physischer Geräte + +Das Projekt zeigt, dass digitale Vernetzung kreative Lösungen für Legacy-Systeme ermöglicht." + +--- + +### Frage 13: "Welche Netzwerkprotokolle kommen zum Einsatz?" + +**Kurze Antwort:** +"HTTP/HTTPS, TCP/IP, und das proprietäre Tapo-Protokoll." + +**Ausführliche Antwort:** +"Die Protokoll-Stack umfasst: + +**Application Layer:** +- HTTPS für Web-Interface (TLS 1.2+) +- REST API über HTTP +- Proprietäres Tapo-Protokoll (AES-verschlüsselt) + +**Transport Layer:** +- TCP für zuverlässige Übertragung +- Session-Management für Plugs + +**Network Layer:** +- IPv4 im lokalen Netzwerk +- Statische IPs für Plugs + +Die Protokoll-Analyse mit Wireshark war besonders lehrreich für das Verständnis von Netzwerk-Kommunikation." + +--- + +## 🔍 KRITISCHE FRAGEN + +### Frage 14: "Was sind die Schwächen Ihrer Lösung?" + +**Kurze Antwort:** +"Die Hauptlimitierung ist die Abhängigkeit von der Stromsteuerungs-Abstraktion." + +**Ausführliche Antwort:** +"Jede Lösung hat Limitierungen: + +1. **Keine Statusüberwachung:** Wir wissen nicht, ob der Druck erfolgreich war +2. **Single Point of Failure:** Raspberry Pi als zentraler Server +3. **Manuelle Konfiguration:** Neue Plugs müssen manuell eingerichtet werden +4. **Skalierungslimit:** Bei >50 Druckern neue Architektur nötig + +Diese Schwächen sind uns bewusst und teilweise bewusst in Kauf genommen für die schnelle, pragmatische Lösung. Verbesserungen sind in der Roadmap eingeplant." + +--- + +### Frage 15: "Was würden Sie rückblickend anders machen?" + +**Kurze Antwort:** +"Frühere Hardware-Tests und realistischere Zeitplanung für Reverse Engineering." + +**Ausführliche Antwort:** +"Mit dem heutigen Wissen würde ich anpassen: + +1. **Hardware-Test:** Sofort mit Raspberry Pi 5 starten +2. **Recherche:** Mehr Zeit für API-Analyse einplanen +3. **Frontend:** Direkt eigene Lösung statt Next.js-Versuch +4. **Dokumentation:** Parallel zum Code, nicht nachträglich + +Diese Learnings fließen bereits in zukünftige Projekte ein. Trotzdem bin ich mit dem Ergebnis sehr zufrieden - es ist ein robustes, produktives System entstanden." + +--- + +## 💡 PERSÖNLICHE FRAGEN + +### Frage 16: "Was war Ihre größte Lernerfahrung?" + +**Antwort:** +"Die wichtigste Erkenntnis war, dass technische Exzellenz und Pragmatismus sich nicht ausschließen. Bei der Wireshark-Analyse hätte ich tagelang weitermachen können, aber der Wechsel zur PyP100-Bibliothek war die richtige Entscheidung. + +Man muss wissen, wann 'gut genug' wirklich gut genug ist. Das System läuft stabil, erfüllt alle Anforderungen und wurde rechtzeitig fertig. Perfektion ist der Feind des Guten - besonders in zeitkritischen Projekten." + +--- + +### Frage 17: "Warum haben Sie dieses Projekt gewählt?" + +**Antwort:** +"Ehrlich gesagt: Es war das einzige Projekt, das mich wirklich begeistert hat. Die Kombination aus Hardware-Integration, Netzwerk-Protokollen und praktischem Nutzen war perfekt für meine Fachrichtung. + +Außerdem konnte ich hier meine privaten Erfahrungen mit Smart-Home-Geräten einbringen und gleichzeitig etwas Sinnvolles für die Ausbildungswerkstatt schaffen. Die intrinsische Motivation war von Anfang an da - und das merkt man dem Ergebnis an." + +--- + +## 📝 ALLGEMEINE TIPPS FÜR DIE FRAGERUNDE + +### DO's: +- ✅ Erst kurz antworten, dann ausführen +- ✅ Konkrete Beispiele nennen +- ✅ Ehrlich bei Schwächen sein +- ✅ Begeisterung zeigen +- ✅ Fachbegriffe erklären + +### DON'Ts: +- ❌ Ausweichende Antworten +- ❌ Zu technisch werden +- ❌ Andere Lösungen schlechtreden +- ❌ Unsicherheit zeigen +- ❌ Zu lange Monologe + +### Notfall-Phrasen: +- "Interessante Frage, lassen Sie mich kurz strukturiert antworten..." +- "Das haben wir im Projekt so gelöst..." +- "Aus heutiger Sicht würde ich..." +- "Ein konkretes Beispiel dafür ist..." + +--- + +**Denken Sie daran: Sie sind der Experte für IHR Projekt. Seien Sie stolz auf Ihre Leistung!** \ No newline at end of file diff --git a/docs/MYP_Präsentation_Karteikarten.md b/docs/MYP_Präsentation_Karteikarten.md new file mode 100644 index 000000000..54f1b69ee --- /dev/null +++ b/docs/MYP_Präsentation_Karteikarten.md @@ -0,0 +1,307 @@ +# MYP - Präsentations-Karteikarten +## Kompakte Stichpunkte für die IHK-Präsentation + +--- + +## 📇 KARTEIKARTE 1: EINLEITUNG +**Zeit:** 0:00-0:30 + +### Kernpunkte: +- Till Tomczak, Fachinformatiker digitale Vernetzung +- Mercedes-Benz AG, TBA Berlin +- Projekt: MYP - Manage Your Printer +- 35 Stunden, April-Mai 2025 + +### Überleitung: +→ "Beginnen wir mit dem Problem..." + +--- + +## 📇 KARTEIKARTE 2: PROBLEMSTELLUNG +**Zeit:** 0:30-2:00 + +### Kernpunkte: +- 6 3D-Drucker (>10.000€ Wert) +- Analoges Whiteboard-Chaos +- 3-4 Doppelbuchungen/Woche +- Energieverschwendung (Wochenend-Läufe) +- Keine Dokumentation/Verantwortlichkeit + +### Storytelling: +"Hightech-Drucker mit Kreide-Management" + +### Überleitung: +→ "Das musste sich ändern..." + +--- + +## 📇 KARTEIKARTE 3: VISION +**Zeit:** 2:00-3:00 + +### Kernpunkte: +- Digitale Reservierungsplattform +- Automatische Hardware-Steuerung +- Zentrale Verwaltung +- Nutzungsstatistiken + +### Emotion: +"Von Chaos zu Kontrolle" + +### Überleitung: +→ "Aber die Herausforderungen waren enorm..." + +--- + +## 📇 KARTEIKARTE 4: HERAUSFORDERUNGEN +**Zeit:** 3:00-5:00 + +### Technische Hürden: +- Drucker OHNE Netzwerk-Schnittstellen +- Verschiedene Hersteller (Prusa, Anycubic) +- Mercedes-Sicherheit: Offline-Only +- Frontend vorhanden, Backend fehlt +- 35 Stunden Zeitbudget + +### Key Message: +"Wie vernetzt man Unvernetzbares?" + +### Überleitung: +→ "Die Lösung: Um die Ecke denken..." + +--- + +## 📇 KARTEIKARTE 5: LÖSUNGSANSATZ +**Zeit:** 5:00-7:00 + +### Innovation: +- TP-Link Tapo P110 Smart-Plugs +- Stromsteuerung statt Direktverbindung +- IoT-Gateway-Konzept +- Universell für ALLE Drucker + +### Analogie: +"Digitaler Bodyguard für jeden Drucker" + +### Überleitung: +→ "Schauen wir uns die Technik an..." + +--- + +## 📇 KARTEIKARTE 6: TECHNISCHE UMSETZUNG +**Zeit:** 7:00-9:30 + +### Tech-Stack: +- **Backend:** Python/Flask, 100+ APIs +- **DB:** SQLite (Offline-tauglich) +- **Frontend:** HTML/CSS/JS +- **Hardware:** Raspberry Pi 5 +- **Security:** HTTPS, bcrypt, CSRF + +### Code-Beispiel zeigen: +```python +async def control_printer(printer_id, action): + plug = self.plugs[printer_id] + return await plug.on() if action == 'start' else await plug.off() +``` + +### Überleitung: +→ "Die größte Herausforderung: Tapo-API..." + +--- + +## 📇 KARTEIKARTE 7: WIRESHARK-DETEKTIVARBEIT +**Zeit:** 9:30-11:30 + +### Story-Elemente: +- Proprietäres Protokoll ohne Doku +- 3 Tage Wireshark-Analyse +- Verschlüsselte Session-Keys +- PyP100-Bibliothek als Rettung + +### Pointe: +"Vom Hacker zum Entwickler" + +### Überleitung: +→ "Jetzt zeige ich das System live..." + +--- + +## 📇 KARTEIKARTE 8: LIVE-DEMO +**Zeit:** 11:30-14:30 + +### Demo-Schritte: +1. Login (Admin/User) +2. Drucker-Übersicht +3. Reservierung anlegen +4. Automatik beobachten +5. Dashboard-Stats + +### Backup: +Screenshots bei Problemen bereit + +### Überleitung: +→ "Die Ergebnisse sprechen für sich..." + +--- + +## 📇 KARTEIKARTE 9: ERGEBNISSE +**Zeit:** 14:30-16:00 + +### Zahlen: +- ✅ 100% digital +- ✅ 30% Energieeinsparung +- ✅ 9.000+ Zeilen Code +- ✅ <200€ Kosten (Budget: 600€) +- ✅ 38h (Plan: 35h) + +### Impact: +"Seit 3. Juni produktiv" + +### Überleitung: +→ "Nicht alles lief glatt..." + +--- + +## 📇 KARTEIKARTE 10: CHALLENGES +**Zeit:** 16:00-17:30 + +### Pivots: +- Pi 4 → Pi 5 (Performance) +- Next.js → Eigene Lösung +- 10h Zeitüberzug aufgeholt + +### Message: +"Flexibilität ist alles" + +### Überleitung: +→ "Was habe ich gelernt..." + +--- + +## 📇 KARTEIKARTE 11: LESSONS LEARNED +**Zeit:** 17:30-18:30 + +### Erkenntnisse: +- Legacy ≠ Unmöglich +- Security First Design +- Agilität bei Problemen +- Balance Perfekt/Pragmatisch + +### Überleitung: +→ "Wie geht es weiter..." + +--- + +## 📇 KARTEIKARTE 12: AUSBLICK +**Zeit:** 18:30-19:30 + +### Roadmap: +- **Kurz:** Intranet-Integration +- **Mittel:** Neue Drucker-APIs +- **Lang:** Maker-Space-Platform + +### Vision: +"Mercedes-Standard?" + +### Überleitung: +→ "Mein Fazit..." + +--- + +## 📇 KARTEIKARTE 13: FAZIT +**Zeit:** 19:30-20:00 + +### Kernaussage: +"Whiteboard → Cyberphysik" +"Digitale Vernetzung kennt keine Grenzen" + +### Stolz: +"Echter Mehrwert für Mercedes" + +### Abschluss: +"Vielen Dank! Fragen?" + +--- + +## 🚨 NOTFALL-KARTEN + +### Bei Blackout: +- Tief durchatmen +- "Darf ich kurz sammeln?" +- Auf Karteikarte schauen +- Mit Humor nehmen + +### Bei Tech-Problemen: +- "Screenshots vorbereitet" +- Ruhig bleiben +- Plan B aktivieren + +### Bei kritischen Fragen: +- "Guter Punkt!" +- Ehrlich antworten +- Beispiel geben +- "Im Projekt so gelöst..." + +--- + +## 💡 POWER-PHRASEN + +### Für Übergänge: +- "Das bringt mich zu..." +- "Interessant dabei war..." +- "Die Herausforderung lag in..." +- "Der Durchbruch kam mit..." + +### Für Begeisterung: +- "Besonders stolz bin ich auf..." +- "Das Highlight war..." +- "Faszinierend fand ich..." + +### Für Probleme: +- "Eine Lernerfahrung war..." +- "Flexibel reagiert auf..." +- "Kreativ gelöst durch..." + +--- + +## ⏱️ ZEIT-CHECKPOINTS + +- **5 Min:** Herausforderungen +- **10 Min:** Nach Wireshark +- **15 Min:** Nach Ergebnissen +- **20 Min:** Abschluss + +**Zu schnell?** Demo verlängern +**Zu langsam?** Demo kürzen + +--- + +## 🎯 KILLER-FACTS + +- 30% Energieeinsparung +- <200€ Investment +- 9.000+ Zeilen Code +- 100+ API-Endpunkte +- 6 Drucker vernetzt +- 0 Doppelbuchungen seit Start + +--- + +## 🔑 SCHLÜSSEL-BEGRIFFE + +- **Cyberphysische Vernetzung** +- **IoT-Gateway** +- **Legacy-Integration** +- **Smart-Plug-Abstraktion** +- **Offline-First** +- **Enterprise-Security** + +--- + +**REMEMBER:** +- Lächeln 😊 +- Augenkontakt +- Begeisterung zeigen +- DU hast das geschafft! + +**GOOD LUCK! 🚀** \ No newline at end of file