Hintergrund / Motivation

MindFlow entstand mit dem Ziel, die gemeinsame Planung und Strukturierung von Ideen zu vereinfachen. Herkömmliche Mindmapping-Anwendungen bieten häufig nur eingeschränkte Möglichkeiten zur Zusammenarbeit oder sind von externen Cloud-Diensten abhängig. Deshalb wurde eine selbst hostbare Webanwendung entwickelt, mit der mehrere Benutzer gleichzeitig und ortsunabhängig an einer Mindmap arbeiten können.

Beschreibung

MindFlow ist eine webbasierte Anwendung zum Erstellen, Bearbeiten und gemeinsamen Verwalten von Mindmaps. Benutzer können sich registrieren, anmelden und eigene Mindmaps anlegen. Innerhalb des Editors lassen sich Nodes erstellen, verschieben, gestalten und hierarchisch miteinander verbinden.

Mindmaps können mit anderen Benutzern geteilt werden. Über ein Rollen- und Berechtigungssystem wird festgelegt, wer eine Mindmap ansehen, bearbeiten oder verwalten darf. Änderungen werden über WebSockets in Echtzeit an alle verbundenen Benutzer übertragen. Zusätzlich unterstützt MindFlow Notizen, Diskussionen, Favoriten, Benachrichtigungen sowie den Import und Export von Mindmaps.

Die Anwendung wird über Docker Compose bereitgestellt und kann dadurch auf einem eigenen Server betrieben werden. Sämtliche Benutzer-, Rollen- und Mindmap-Daten werden zentral in einer MariaDB-Datenbank gespeichert.

Technologien
Frontend:
  • HTML5
  • CSS3
  • Vanilla JavaScript
  • Fetch API
  • WebSockets
Backend:
  • Node.js
  • Express.js
  • MariaDB
  • JSON Web Tokens
  • bcrypt
  • WebSockets
Deployment / Tools:
  • Docker
  • Docker Compose
  • nginx
Projektinfo
Schuljahr:
25/26
Schüler:
- Jan-Niklas Lichtinger (jlichtin)
- Paul Seidenschwand (pseidens)
- Max Wiedemann (mwiedema)
Betreuer:
- Herr Heitzer
Bilder