Show HN: Crudlet.js – A common, streamable interface for synchronizing data
github.com
github.com
I work on data synchronization problems as well (I'm the guy who built http://gunDB.io) I'd love to talk. I assume you are using OT? OT requires a "master" server, right - or do you handle decentralized conflicts in other ways?
I'm glad you already have a query doc working, I'm still adding such a feature. Let's chat, send me an email: mark@gunDB.io . Good work!
Edit: I'm currently using Baobab[1] to manage state in a React app and I'm thinking about writing an adapter for it. I wonder if that makes sense. I'm leaning towards "yes".
https://gist.github.com/crcn/cfe215ab3b604fb0b441
Crudlet also uses node streams instead of promises.
And then, assuming your handlers are idempotent, running db migrations or adding a new representation of your data would be as easy as attaching a modified handler and running through the log from the beginning.
Maybe promote the existing Todo example to the site of the repo so it's easily accessible for first time visitors?
Would appreciate a comment from OP on what the use case is with this library? Maybe an example app or ideal use case?
Currently working on more examples - didn't realize this would appear on HN so quickly!
Should app data be generated from the server initially? Should the app support offline read-only mode? Should the app support realtime data? Should operations be batched and sent to a data source? Should the app be isomorphic?
And others. I built crudlet to help encapsulate services so that these sorta features can be added anytime without affecting the rest of the application.
That, and also to help decouple applications from a particular service. For instance, it'd be pretty easy to swap firebase with parse, or socket.io for pubnub if you want.