# MindMapProjekt - Roadmap ## Projektübersicht Das MindMapProjekt ist eine interaktive Plattform zum Visualisieren, Erforschen und Teilen von Wissen. Das Projekt wird umfassend überarbeitet, um ein modernes, benutzerfreundliches Design und erweiterte Funktionalitäten zu bieten. ## Technischer Stack - **Backend**: Python/Flask - **Frontend**: - Tailwind CSS (via CDN) für moderne UI - SVG-Bibliotheken für Visualisierungen (D3.js) - JavaScript/Alpine.js für interaktive Komponenten - WebGL für animierte Hintergrundeffekte - **Datenbank**: SQLite mit SQLAlchemy - **KI-Integration**: OpenAI API für intelligente Assistenz ## Installation und Verwendung ### Installation 1. Repository klonen 2. Virtuelle Umgebung erstellen: `python -m venv venv` 3. Virtuelle Umgebung aktivieren: - Windows: `venv\Scripts\activate` - Unix/MacOS: `source venv/bin/activate` 4. Abhängigkeiten installieren: `pip install -r requirements.txt` 5. Datenbank initialisieren: `python TOOLS.py db:rebuild` 6. Admin-Benutzer erstellen: `python TOOLS.py user:admin` 7. Server starten: `python TOOLS.py server:run` ### Standardbenutzer - **Admin-Benutzer**: Username: `admin` / Passwort: `admin` - **Testbenutzer**: Username: `user` / Passwort: `user` ### Verwaltungswerkzeuge mit TOOLS.py Das Projekt enthält ein zentrales Verwaltungsskript `TOOLS.py`, das verschiedene Hilfsfunktionen bietet: #### Datenbankverwaltung - `python TOOLS.py db:fix` - Reparieren der Datenbankstruktur - `python TOOLS.py db:rebuild` - Datenbank neu aufbauen (löscht alle Daten!) - `python TOOLS.py db:test` - Datenbankverbindung und Modelle testen - `python TOOLS.py db:stats` - Datenbankstatistiken anzeigen #### Benutzerverwaltung - `python TOOLS.py user:list` - Alle Benutzer anzeigen - `python TOOLS.py user:create -u USERNAME -e EMAIL -p PASSWORD [-a]` - Neuen Benutzer erstellen - `python TOOLS.py user:admin` - Admin-Benutzer erstellen (admin/admin) - `python TOOLS.py user:reset-pw -u USERNAME -p NEWPASSWORD` - Benutzerpasswort zurücksetzen - `python TOOLS.py user:delete -u USERNAME` - Benutzer löschen #### Serververwaltung - `python TOOLS.py server:run [--host HOST] [--port PORT] [--no-debug]` - Entwicklungsserver starten Für detaillierte Hilfe: `python TOOLS.py -h` ## Roadmap der Überarbeitung ### Phase 1: Grundlegende Infrastruktur ✅ - [x] Bestandsaufnahme des aktuellen Projekts - [x] Erstellung der Roadmap - [x] Aktualisierung der Abhängigkeiten - [x] Integration von Tailwind CSS - [x] Einrichtung der SVG-Bibliotheken (D3.js) - [x] Favicon erstellen - [x] Setup-Skript für einfache Installation ### Phase 2: Design-Überarbeitung ✅ - [x] Implementierung des Dark Mode - [x] Erstellung eines modernen, minimalistischen UI mit Tech-Ästhetik - [x] Responsive Design für alle Geräte - [x] Gestaltung der Landing Page mit großer Typografie - [x] Animierter Neurales Netzwerk-Hintergrund mit WebGL ### Phase 3: Mindmap-Funktionalitäten 🔄 - [x] Verbesserte Visualisierung mit SVG und D3.js - [x] Implementierung der Mouseover-Funktion - [x] Entwicklung der Suchfunktion für Knoten - [x] Clustertopologie für neuronale Netzwerkdarstellung - [x] Fehlerbehandlung für robuste Datenverarbeitung und Knotenverweise - [x] Verbesserte Verbindungserkennung zwischen Knoten - [ ] Tagging-System für Inhalte - [ ] Quellenmanagement und -verlinkung - [ ] Upload-Funktionalität an Knotenpunkten ### Phase 4: Kernseitenentwicklung - [ ] Überarbeitung der Startseite mit neuen Features - [ ] Entwicklung der "Wer sind wir?"-Seite - [ ] Implementierung von Impressum und Datenschutzerklärung - [ ] Erstellung der Kontaktseite mit FAQs - [ ] Überarbeitung des Benutzerprofilbereichs ### Phase 5: Community-Features - [ ] Entwicklung des Autorenbereichs - [ ] Implementierung von Community-Bereichen für Themenbereiche - [ ] Verbesserter Kommentarbereich - [ ] Benutzerrechtemanagement ### Phase 6: KI-Integration - [ ] Implementierung des Frage-Antwort-Systems - [ ] KI-generierte Themeneinleitungen - [ ] Intelligente Suchunterstützung - [ ] Geführte Pfade durch Themenbereiche - [ ] Vorgeschlagene Chat-Möglichkeiten ### Phase 7: Benutzerprofilfunktionen - [ ] Speichern von Thematiken - [ ] Persönliche Mindmap/Pinboard - [ ] Beitragsmanagement - [ ] Benutzerstatistiken und -aktivitäten ### Phase 8: Testing und Optimierung - [ ] Umfassende Tests aller Funktionen - [ ] Performance-Optimierung - [ ] SEO-Implementierung - [ ] Barrierefreiheit prüfen und verbessern ### Phase 9: Dokumentation und Einführung - [ ] Erstellung von Benutzeranleitungen - [ ] Entwicklerdokumentation - [ ] Administratorenhandbuch - [ ] Guided Tour für neue Benutzer ## Aktueller Status - **Phase 1**: ✅ Abgeschlossen - **Phase 2**: ✅ Abgeschlossen - **Phase 3**: 🔄 In Bearbeitung (75% abgeschlossen) ## Aktuelle Fortschritte - Grundlegende UI modernisiert mit Tailwind CSS und Dark Mode - Neues Favicon für bessere visuelle Identität erstellt - Setup-Prozess vereinfacht mit einem Shell-Skript - Mindmap-Visualisierung komplett überarbeitet mit D3.js für eine interaktivere Erfahrung - Responsive Design für optimale Darstellung auf allen Geräten - Animierter neuronaler Netzwerk-Hintergrund mit WebGL implementiert - Verbesserte neuronale Cluster-Darstellung in der MindMap-Ansicht - Behebung von kritischen Fehlern in der Knotenvisualisierung und Verbindungserkennung - Robustere Datenverarbeitung für Mindmap-Knoten implementiert - Fehlerbehandlung für verschiedene API-Datenformate verbessert ## Neuronaler Netzwerk-Hintergrund Ein wesentliches neues Feature ist der animierte Hintergrund, der ein neuronales Netzwerk simuliert: - **WebGL-basierte Rendering-Engine** für hohe Performance - **Dynamische Knoten und Verbindungen** mit realistischem Bewegungsverhalten - **Neuronenfeuer-Simulation** mit Signalweiterleitung zwischen Knoten - **Clustertopologie** für realistisches Erscheinungsbild - **Anpassbare Farbgebung und Animationsparameter** - **Flüssige Animationen** mit über 100 Knotenpunkten Die Animation ist vollständig responsiv und passt sich automatisch an verschiedene Bildschirmgrößen an, ohne die Browser-Performance zu beeinträchtigen. ## Mindmap-Verbesserungen Die Mindmap-Darstellung wurde grundlegend überarbeitet: - **D3.js Force-Directed Graph** für intuitive Knotenpositionierung - **Verbesserte Fehlerbehandlung** für robustere Datenverarbeitung - **Neuronale Cluster-Gruppierung** von thematisch zusammengehörigen Inhalten - **Glasmorphismus-Effekte** für moderne visuelle Darstellung - **Verbesserte Hover- und Selektionseffekte** - **Flüssige Animationen** bei Knotenauswahl und -fokussierung ## Nächste Schritte - Fertigstellung des Tagging-Systems für Gedanken - Verbesserung der Gedankenansicht im Mindmap-Bereich - Implementierung von Quellenmanagement - Überarbeitung der Startseite mit neuen Features ## Content Security Policy (CSP) Die Anwendung implementiert eine Content Security Policy, um die Sicherheit zu erhöhen und unerwünschte externe Ressourcen zu blockieren. CSP wird in `app.py` konfiguriert und schränkt ein, welche Ressourcen geladen werden dürfen. ### Aktualisierung (06.06.2024) Die Anwendung verwendet nun die Tailwind CSS CDN für vereinfachte Entwicklung. Die CSP wurde entsprechend angepasst, um die Domain `cdn.tailwindcss.com` zu erlauben. ### Lokale und CDN-Ressourcen Die Anwendung nutzt eine Mischung aus lokalen Ressourcen und CDNs: - **CDN-Ressourcen**: - Tailwind CSS (cdn.tailwindcss.com) - **Lokale Ressourcen**: - Alpine.js - Font Awesome - Google Fonts (Inter und JetBrains Mono) - WebGL-Animation (neural-network-background.js) ### CSP-Nonces Die Anwendung verwendet Nonces für Inline-Skripte. In den Templates wird `{{ csp_nonce }}` verwendet, um den Nonce-Wert einzufügen: ```html ``` *Zuletzt aktualisiert: 15.06.2024*