# Systades Mindmap - Entwicklungs-Roadmap Diese Roadmap beschreibt die geplante Entwicklung der dynamischen, benutzerorientierten Mindmap-Funktionalität für das Systades-Projekt. ## Phase 1: Grundlegendes Datenmodell und Backend (Abgeschlossen) - [x] Entwurf des Datenbankschemas für benutzerorientierte Mindmaps - [x] Implementierung der Modelle in models.py - [x] Erstellung der API-Endpunkte für CRUD-Operationen - [x] Integration mit der bestehenden Benutzerauthentifizierung - [x] Seed-Daten für die Entwicklung und Tests ## Phase 2: Dynamische Mindmap-Visualisierung (Aktuell) - [ ] Anpassung des Frontend-Codes zur Verwendung der DB-Daten anstelle des SVG - [ ] Implementierung von AJAX-Anfragen zum Laden der Mindmap-Daten - [ ] Dynamisches Rendering der Knoten, Verbindungen und Labels - [ ] Drag-and-Drop-Funktionalität für die Bewegung von Knoten - [ ] Zoom- und Pan-Funktionalität mit Persistenz der Ansicht ## Phase 3: Benutzerdefinierte Mindmaps - [ ] UI für das Erstellen, Bearbeiten und Löschen eigener Mindmaps - [ ] Funktion zum Hinzufügen/Entfernen von Knoten aus der öffentlichen Mindmap - [ ] Speichern der Knotenpositionen und Ansichtseinstellungen - [ ] Benutzerspezifische Visualisierungseinstellungen - [ ] Dashboard mit Übersicht aller Mindmaps des Benutzers ## Phase 4: Notizen und Annotationen - [ ] UI für das Hinzufügen privater Notizen zu Knoten - [ ] Visuelle Anzeige von Notizen in der Mindmap - [ ] Texteditor mit Markdown-Unterstützung für Notizen - [ ] Kategorisierung und Farbkodierung von Notizen - [ ] Suchfunktion für Notizen ## Phase 5: Integrationen und Erweiterungen - [ ] Import/Export-Funktionalität für Mindmaps (JSON, PNG) - [ ] Teilen von Mindmaps (öffentlich/privat/mit bestimmten Benutzern) - [ ] Kollaborative Bearbeitung von Mindmaps - [ ] Verknüpfung mit externen Ressourcen (Links, Dateien) - [ ] Versionierung von Mindmaps ## Phase 6: KI-Integration und Analyse - [ ] KI-gestützte Vorschläge für Verbindungen zwischen Knoten - [ ] Automatische Kategorisierung von Inhalten - [ ] Visualisierung von Beziehungsstärken und -typen - [ ] Mindmap-Statistiken und Analysen - [ ] KI-basierte Zusammenfassung von Teilbereichen der Mindmap ## Phase 7: Optimierung und Skalierung - [ ] Performance-Optimierung für große Mindmaps - [ ] Verbesserung der Benutzerfreundlichkeit basierend auf Feedback - [ ] Erweiterte Such- und Filterfunktionen - [ ] Mobile Optimierung - [ ] Offline-Funktionalität mit Synchronisierung ## Technische Schulden und Refactoring - [ ] Trennung der Datenbank-Logik vom Flask-App-Code - [ ] Einführung von Unit-Tests und Integration-Tests - [ ] Überarbeitung der API-Dokumentation - [ ] Caching-Strategien für bessere Performance - [ ] Verbesserte Fehlerbehandlung und Logging ## KI-Integration ### Aktuelle Implementation - Integration von OpenAI mit dem gpt-4o-mini-Modell für den KI-Assistenten - Datenbankzugriff für den KI-Assistenten, um direkt Informationen aus der Datenbank abzufragen - Verbesserte Benutzeroberfläche für den KI-Assistenten mit kontextbezogenen Vorschlägen ### Zukünftige Verbesserungen - Implementierung von Vektorsuche für präzisere Datenbank-Abfragen durch die KI - Erweiterung der KI-Funktionalität für tiefere Analyse von Zusammenhängen zwischen Gedanken - KI-gestützte Vorschläge für neue Verbindungen zwischen Gedanken basierend auf Inhaltsanalyse - Finetuning des KI-Modells auf die spezifischen Anforderungen der Anwendung - Erweiterung auf multimodale Fähigkeiten (Bild- und Textanalyse) --- ## Implementierungsdetails ### Datenbankschema Das Datenbankschema umfasst folgende Hauptentitäten: 1. **Category** - Wissenschaftliche Kategorien für die öffentliche Mindmap 2. **MindMapNode** - Öffentliche Mindmap-Knoten mit Metadaten 3. **UserMindmap** - Benutzerdefinierte Mindmaps 4. **UserMindmapNode** - Verknüpfung zwischen Benutzermindmaps und öffentlichen Knoten 5. **MindmapNote** - Benutzerspezifische Notizen 6. **Thought** - Gedanken und Inhalte, die Knoten zugeordnet sind 7. **ThoughtRelation** - Beziehungen zwischen Gedanken ### Frontend-Technologien - D3.js für die Visualisierung der Mindmap - AJAX für dynamisches Laden von Daten - Interaktive Bedienelemente mit JavaScript - Responsive Design mit Tailwind CSS ### Backend-APIs Die implementierten API-Endpunkte umfassen: - `/api/mindmap/public` - Abrufen der öffentlichen Mindmap-Struktur - `/api/mindmap/user/` - Abrufen benutzerdefinierter Mindmaps - `/api/mindmap//add_node` - Hinzufügen eines Knotens zur Benutzer-Mindmap - `/api/mindmap//remove_node/` - Entfernen eines Knotens - `/api/mindmap//update_node_position` - Aktualisierung von Knotenpositionen - `/api/mindmap//notes` - Verwaltung von Notizen - `/api/nodes//thoughts` - Abrufen und Hinzufügen von Gedanken zu Knoten ## Aktuelle Änderungen - Tailwind CSS wurde auf CDN-Version aktualisiert (06.06.2024) - Content Security Policy (CSP) für Tailwind CSS CDN konfiguriert ## Zukünftige Aufgaben - Überprüfung der Kompatibilität der Tailwind CSS CDN-Version mit allen UI-Komponenten - Optimierung der Ladezeiten für mobile Geräte - Überarbeitung der Dark Mode Funktionalität mit neuer Tailwind Version ## Langfristige Ziele - Migration zu einer statisch kompilierten Tailwind CSS Version für Produktivumgebungen - Implementierung von Tailwind Plugins für erweiterte UI-Funktionen