drawdb-io / drawdb

Free, simple, and intuitive online database design tool and SQL generator.
https://drawdb.vercel.app
MIT License
12.09k stars 855 forks source link

[Feature] Have a way to collaborate #58

Open smitt04 opened 2 months ago

smitt04 commented 2 months ago

Since this only saves data in the browser there is no way to have 2 people working on the same diagram at the same time. But as a workaround it would be nice if I could save the diagram to a file in our repo, then when someone wants to edit / view it they can run a docker image locally that would read the file and load the diagram into the local instance. They would still need to export the file afterwords and commit unless there could be a feature to only read/write to a file instead of indexedDB.

1ilit commented 2 months ago

Hey @smitt04, thanks for the suggestion

This is something I've been thinking about since the very beginning of development.

For now exporting the diagram as a json or ddb and manually sharing and importing is the only way to go about it.

For the future we can maybe add integration with Github like draw.io

revolunet commented 1 month ago

collaboration would be great :)

sharing some related content : https://blog.excalidraw.com/building-excalidraw-p2p-collaboration-feature

1ilit commented 1 month ago

Hey @revolunet, thanks for sharing

Actually there is a really messy implementation for some of the real time collaboration logic on the deprecated branch

The reason i didn't go through with it is because i couldn't think of a seamless way for 2 clients to communicate, since the diagrams get saved in the browser

E.g. if client 1 and client 2 join a room, edit the diagram, and client 1 disconnects and then connects back there is no way to merge client 2's changes without them having to share a new link

Any ideas about this would help, i might be missing something