4.0 KiB
4.0 KiB
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)
- Entwurf des Datenbankschemas für benutzerorientierte Mindmaps
- Implementierung der Modelle in models.py
- Erstellung der API-Endpunkte für CRUD-Operationen
- Integration mit der bestehenden Benutzerauthentifizierung
- 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
Implementierungsdetails
Datenbankschema
Das Datenbankschema umfasst folgende Hauptentitäten:
- Category - Wissenschaftliche Kategorien für die öffentliche Mindmap
- MindMapNode - Öffentliche Mindmap-Knoten mit Metadaten
- UserMindmap - Benutzerdefinierte Mindmaps
- UserMindmapNode - Verknüpfung zwischen Benutzermindmaps und öffentlichen Knoten
- MindmapNote - Benutzerspezifische Notizen
- Thought - Gedanken und Inhalte, die Knoten zugeordnet sind
- 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/<id>- Abrufen benutzerdefinierter Mindmaps/api/mindmap/<id>/add_node- Hinzufügen eines Knotens zur Benutzer-Mindmap/api/mindmap/<id>/remove_node/<node_id>- Entfernen eines Knotens/api/mindmap/<id>/update_node_position- Aktualisierung von Knotenpositionen/api/mindmap/<id>/notes- Verwaltung von Notizen/api/nodes/<id>/thoughts- Abrufen und Hinzufügen von Gedanken zu Knoten