raimohanska / ourboard

An online whiteboard
Other
763 stars 58 forks source link

Collaborative text editing using Y.js CRDTs and Quill editor #240

Closed raimohanska closed 9 months ago

raimohanska commented 9 months ago

Goal

Enable collaborative text editing on Text and Area items like one does on Google Docs. Additionally, by applying the Quill editor, we get nicer text-editing features, such as automatic bullets.

Design

1. Experimental roll-out

When this PR is merged, collaborative editing can be enabled by signed in users when creating a new board.

2. Enabling collaborative editor by default

TODO items

Nice-to-haves

3. Utilizing CRDT more widely

It would be interesting to see if we can switch the whole board state into CRDT. Would likely simplify code. Performance might also improve, but this is something to investigate. Anyway, it makes sense to me to first reap the immediate collaborative editing benefits and then see how far we can go.