196 lines
7.8 KiB
Markdown
196 lines
7.8 KiB
Markdown
# 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
|
|
<script nonce="{{ csp_nonce }}">
|
|
// JavaScript Code
|
|
</script>
|
|
```
|
|
|
|
*Zuletzt aktualisiert: 15.06.2024* |