# ABSOLUTE DON'TS: - Verwendung von npm anstelle der Tailwind CDN - Implementierung von Content Security Policy (CSP) - UNTER KEINEN UMSTÄNDEN! - Implementierung von Cross-Site Request Forgery (CSRF) Schutz - Implementierung von Security Headers - Verwendung von TypeScript anstelle von JavaScript - Implementierung von OAuth oder anderen externen Authentifizierungsmethoden # HÄUFIGE FEHLER: - Verwendung der falschen Datenbank (die korrekte ist: database/systades.db) - Falsche Pfadangaben bei statischen Dateien - Vergessen der deutschen Spracheinstellungen in Templates - Nicht beachten der vorhandenen Projektstruktur - Falsche Einbindung der Neural Network Background Animation - Verwendung von englischen Variablennamen in deutschen Funktionen - Vergessen der Mindmap-Datenstruktur gemäß der Roadmap # Häufige Fehler und Lösungen D ## Content Security Policy (CSP) ### Problem: Externe Ressourcen werden nicht geladen **Fehler:** Externe Ressourcen wie CDNs werden nicht korrekt geladen. **Lösung:** 1. Stellen Sie sicher, dass die URLs in den Templates korrekt sind: ```html ``` 2. Überprüfen Sie die Netzwerkverbindung und ob die CDN-Domains erreichbar sind. 3. Verwenden Sie lokale Ressourcen als Alternative: ```html ``` ### Problem: CSP-Fehler (script-src-elem 'none', font-src 'none', etc.) **Fehler:** Skripte werden aufgrund von CSP-Einschränkungen blockiert. **Lösung:** 1. WICHTIG: CSP-Einschränkungen NICHT implementieren! Diese sind im Projekt unerwünscht. 2. Falls CSP-Header bereits vorhanden sind, entfernen Sie diese aus der Anwendung: ```python # Entfernen Sie diesen Code, falls vorhanden: # @app.after_request # def add_security_headers(response): # response.headers['Content-Security-Policy'] = '...' # return response ``` 3. Stellen Sie sicher, dass externe Ressourcen direkt geladen werden: ```html ``` 4. Für Inline-Skripte keine Nonce verwenden: ```html ``` ### Problem: Tailwind CSS CDN wird blockiert **Fehler:** Tailwind CSS kann nicht von CDN geladen werden. **Lösung:** 1. Verwenden Sie die lokale Version von Tailwind CSS: ```html ``` 2. Alternativ können Sie die CDN-Version direkt im Template einbinden: ```html ``` 3. Stellen Sie sicher, dass die Datei `static/css/tailwind.min.css` existiert und aktuell ist. ## Datenbank-Fehler ### Problem: Datenbank existiert nicht **Fehler:** SQLite-Datenbank kann nicht geöffnet werden. **Lösung:** 1. Datenbank initialisieren: `python TOOLS.py db:rebuild` 2. Sicherstellen, dass das Datenbankverzeichnis existiert und Schreibrechte hat ## Authentifizierung ### Problem: Login funktioniert nicht **Fehler:** Benutzer kann sich nicht einloggen. **Lösung:** 1. Standard-Admin-Benutzer erstellen: `python TOOLS.py user:admin` 2. Passwort zurücksetzen: `python TOOLS.py user:reset-pw -u USERNAME -p NEWPASSWORD` ## Neural Network Background ### Problem: Hintergrund-Animation wird nicht angezeigt **Fehler:** Die Neural Network Animation im Hintergrund erscheint nicht. **Lösung:** 1. Überprüfen Sie, ob die Datei `static/neural-network-background.js` korrekt eingebunden ist: ```html ``` 2. Initialisieren Sie die Animation im Template: ```html ``` 3. Stellen Sie sicher, dass keine CSS-Regeln die Animation überdecken: ```css #neural-network-background { z-index: -10; opacity: 1; } ``` ## Mindmap-Funktionalität ### Problem: Mindmap-Daten werden nicht geladen **Fehler:** Die dynamische Mindmap zeigt keine Daten an. **Lösung:** 1. Überprüfen Sie die API-Endpunkte für die Mindmap-Daten: ```python @app.route('/api/mindmap/nodes', methods=['GET']) def get_mindmap_nodes(): # Implementierung... ``` 2. Stellen Sie sicher, dass die AJAX-Anfragen korrekt implementiert sind: ```javascript fetch('/api/mindmap/nodes') .then(response => response.json()) .then(data => { // Verarbeitung der Mindmap-Daten }); ``` 3. Überprüfen Sie die Datenbankeinträge für Mindmap-Knoten und -Verbindungen. ## ChatGPT-Assistent ### Problem: Assistent reagiert nicht auf Eingaben **Fehler:** Der ChatGPT-Assistent verarbeitet keine Benutzereingaben. **Lösung:** 1. Überprüfen Sie die Einbindung der JavaScript-Datei: ```html ``` 2. Stellen Sie sicher, dass der Assistent korrekt initialisiert wird: ```javascript document.addEventListener('DOMContentLoaded', () => { const assistant = new ChatGPTAssistant(); assistant.initialize(); }); ``` 3. Überprüfen Sie die API-Endpunkte für die Kommunikation mit dem Assistenten.