3 ms·
Shameless plug: I worked on a similar tool mdocs [1]. The main difference is that is opensource, it supports authentication and authorization [2] similar to Goo
by jfroma 12y ago
Shameless plug: I worked on a similar tool mdocs [1]. The main difference is that is opensource, it supports authentication and authorization [2] similar to Google Docs. The authorization part allows you to share documents at company level.
It is a 100% client-side application, it uses Firebase as backend and Auth0 for authentication.
[1] https://auth0.github.io/mdocs2 https://auth0.github.io/mdocs2
[2] https://dl.dropbox.com/s/w6bmji4t698v8qn/ss-2015-03-25T10-40-32.png?dl=0 https://dl.dropbox.com/s/w6bmji4t698v8qn/ss-2015-03-25T10-40...
- tobinharris 12y agoInteresting, looks like Firebase syncs the who record at a time, how do you avoid conflicts with 2 people editing at the same time?
- jfroma 12y agoIt uses a theory called Operational Transformation [1] which is roughly the base for most collaborative tools like google docs. My first attempt was using a library called ot.js [2], I changed it to support an async db since it only supported a in-memory store and I adapted to use mongodb. The experiment is in [3] and it has some bugs still. Then I found out the guys at firebase adapted ot.js client side to work with their own db, and created something called Firepad [4]. So, I used that instead which was more stable and I added auth and authn. [1]: https://en.wikipedia.org/wiki/Operational_transformation https://en.wikipedia.org/wiki/Operational_transformation [2]: https://github.com/Operational-Transformation/ot.js/ https://github.com/Operational-Transformation/ot.js/ [3]: http://github.com/auth0/mdocs http://github.com/auth0/mdocs and http://mdocs.io http://mdocs.io [4]: http://www.firepad.io/ http://www.firepad.io/
- poopsmithe 12y ago[1] was really confusing. It consistently errored when I tried to sign in, then when clicking the link for more details, walked me through creating an auth0 account. I did find [3] which made more sense. [3] http://mdocs.io/ http://mdocs.io/