Hey! I want to create a webapp where user load notes with external api and and application allow multiple user to collaborate on same note in real time, So my question is how do I add real time collaboration in my web app I never done this before?
Here is some reading to get you started on your project.
https://www.geeksforgeeks.org/project-idea-collaborative-editor-framework-real-time/
I don’t seen algorithm like this before, Do you know what the heck he trying to say in this article, I have only base Idea to use socket.io for my project but this tree like algo is really foreign to me
You don’t need to understand the TreeOPT algorithm completely. He’s using it to account for all the possible document states and who wins a conflict of document state. You’re attempting a complex thing even though we have libraries and frameworks that hide the complexity. You should google about creating this type of software then write a plan. What are your assumptions? Write them down then breakdown them down into implementation steps.
Assertion:
-
All documents have one owner.
-
The owner has read and write privileges.
-
Everyone else has read privileges. Or do they? Maybe a document is totally private.
Conclusion: I need Authorization and Authentication.
Assertion:
-
Will the owner create a list of collaborators?
Or
-
Will the owner send links to share access to collaborators?
-
Will editing always take place on owners copy?
Or
-
Will collaborators be allowed a personal copy?
Conclusion:
-
Naive: If a list just grant Read and Write access.
-
If a link:
-
Link must identify document.
-
Link must also uniquely identify collaborator so write permission can be revoked on a individual basis.
- links are tracked in a database.
Okay, I hope you get the idea. You should know that I didn’t just pull those points out of my head in that order. I started with three things then realized I needed sections. Next I grouped some things together and skipped around as I realized one thing affects another. You will too. Welcome to software development.
Hopefully you’ll do more searches on this topic. While searching for an article to get the conversation started, I found some open source projects that did similar things from which you might learn how things may be accomplished.
Ok man! I understand, I will try to make most basic app using web sockets where two or more user collaborate on a document at same time then I try to add some more complex logic.
And one more request If you have time, Will you wanna be contribute in this project?
Sorry I’m not at that level of Javascript
Wow this is a good idea. I can’t help with anything tho am no good in node.js. One day i wanna be so good that i can build this.
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.