A block based Conflict-free Replicated Data Type that enables collaborative editing across multiple participants allowing for flexible data sharing across spreadsheets, boards, rich text, and more.
npm install
npm test
for synchronization, just investigate
domain/entity/block
domain/entity/contribution
for making an editor, all the interfaces you need are in
domain/usecase/replica
-
replicaID
- is an identifier for writers or devices
-
note
- consists of
blocks
-
block
-
block-props
- nested json object for block properties
- each leaf has its own stamp
replicaID
timestamp
-
text
- consists of
spans
-
span
-
point
- position identifier
-
content
-
attrs
- length
-
text-props
- flat json object
stamp
- string (UTF16)
-
-
- consists of
-
version
- per
replicaID
-
block-props
version -
text-points
orDB_RECORD-point
version
-
- per
-
- consists of