TimeWriter
1.0.0
イベントソーシングに基づくオンラインコラボレーションテキストエディター。
ワーキングの例は、https://text-sourcing.tomasz-rewak.com/にあります。
より長いプロジェクトの説明は、https://blog.tomasz-rewak.com/text-sourcing/にあります
ここのすべては、テキストエディターや、サーバーとクライアント側のロジックを調達するイベントを含むゼロから書かれています。
このテキストエディターにより、複数の人が同じテキストファイルを同時に編集できます。すべてのユーザーは、入力ドロップなしで同じ行を編集できる必要があります。
このアプリは、各変更が行われた後、ユーザー間でファイルのコンテンツ全体を送信するのではなく、基本的なイベントだけです。これらのイベントとドキュメントの初期状態に基づいて、各クライアントはドキュメントの現在の状態を再現できる必要があります。イベント管理は、単純な状態変換に限定されるだけではありません。イベント履歴は、元に戻す/やり直しにも使用されます。イベントの順序は、サーバーの内部クロックに基づいて同期され、通信遅延の影響を中和できるようにします。
このプロジェクトは、javascript、socket.io(Clinet-server通信用)およびReact(フロントエンドフレームワーク)を使用して作成されます。
これは、私がペットプロジェクトとして作成したデモです。しかし、バグが見つかった場合は、お知らせください。