Ein online kollaborativer Texteditor basierend auf Event Sourcing.
Arbeites Beispiel finden Sie hier: https://text-sourcing.tomasz-rewak.com/
Eine längere Projektbeschreibung finden Sie hier: https://blog.tomasz-rewak.com/text-sourcing/
Alles hier ist von Grund auf geschrieben: einschließlich des Texteditors sowie der Event -Sourcing -Logik auf dem Server und der Client -Seite.
Mit diesem Texteditor können mehrere Personen gleichzeitig dieselbe Textdatei bearbeiten. Alle Benutzer sollten sogar in der Lage sein, dieselbe Zeile ohne Eingabeabfälle zu bearbeiten.
Diese App sendet nicht den gesamten Inhalt der Datei zwischen Benutzern nach jeder Änderung, sondern nur grundlegende Ereignisse. Grundlage auf diesen Ereignissen und den Ausgangszustand des Dokuments, den jeder Kunde den aktuellen Stand des Dokuments neu erstellen kann. Das Ereignismanagement beschränkt sich nicht nur auf einfache staatliche Transformationen. Die Ereignisgeschichte wird auch für Rückgänger-/Wiederherstellungsoperationen verwendet. Die Reihenfolge der Ereignisse wird basierend auf der internen Uhr des Servers synchronisiert, damit die Auswirkungen der Kommunikationsverzögerung neutralisiert werden können.
Dieses Projekt wird mit JavaScript, Socket.io (für die Klinet-Server-Kommunikation) und React (ein Frontend-Framework) erstellt.
Es ist nur eine Demo, die ich als Haustierprojekt erstellt habe. Aber wenn Sie Fehler gefunden haben, lassen Sie es mich bitte wissen.