This was one of the project idea I made myself work on during this April. The motivation being, "how hard is it to make a real-time code editor". Long story short, it is far more complicated than I had imagine and to complete in less than a week. Implementing the CRDT itself, the logic itself is challenging and than putting it down to code is another story.
From my understanding, an implementation of logoot[1] is built to create the skeleton of a collaborative environment. From there on, you have the building block to make other things work with it, such as collaborative canvas.
I built one using Socket.io on Angular and used Ace Editor own implementation of CRDT
From my understanding, an implementation of logoot[1] is built to create the skeleton of a collaborative environment. From there on, you have the building block to make other things work with it, such as collaborative canvas.
I built one using Socket.io on Angular and used Ace Editor own implementation of CRDT
> https://github.com/abdusamed91/realtime-codeeditor
I used the following references to build it
1) https://alligator.io/angular/socket-io/
2) https://medium.com/@ofir3322/create-an-online-ide-with-angul...
To get started with the theory CRDT low level algorithm, these two post go into great details
1) https://conclave-team.github.io/conclave-site/
2) http://digitalfreepen.com/2017/10/06/simple-real-time- collaborative-text-editor.html
[1]https://hal.inria.fr/inria-00432368/document
I'd love to take it to another level if anyone here has mutual interest in this field of work.