I just found out about gunDB and the concept seems very interesting and I'd like to find out more about it before starting to evaluate it further.
- If I wanted to build a chat app like the tutorial but implement chat rooms. Would there be a way for clients to only "subscribe" to certain chat rooms only, and avoid transferring the content of every other chat room? How does that affect persistence, if not all data is sync'd to all clients? Do we need to run a special client (ie a server?) that will make sure all data is kept alive at all times?
- For that same chat room tutorial, if I want to subscribe to multiple chat rooms, would I need to instantiate multiple Gun instances, with each one using "peer" storage?
- How should user management/passwords/etc be dealt with in gunDB? Sending every client a copy of the user DB is interesting from a replication stand point, but from a security aspect, it seems counter intuitive.
- Is there a way to ask gun to only sync under certain circumstances such as when a WiFi connection is available (think Cordova)?
- What about data that's temporal? Is there a way in the chat app, for instance to tell gunDB that I'm only interested in future messages and ignore anything that was created prior to a certain state/timestamp (again to avoid transferring huge amounts of data on an expensive data plan)?
- How do you persist to disk (potentially circular) data in a gunDB and load the data back in the DB should the need arise?
- Can you ask gun to monitor two keys simultaneously? For example if a client needs to display chat data and todo list (both 'keys' from the tutorial) assuming both are 'peered'.
- Is there a tutorial for how to use my own server for storage?