marilyn
marilyn copied to clipboard
Marilyn is a client side, Socket.IO driven, Pub/Sub, model layer with a query system similar to Mongoose.
Use `setTimeout( function () { ... }, 0 )` to make the CRUD methods asynchronous.
Rather than just being a sync system for web sockets Marilyn should also be an interface for writing and reading from WebStorage. I'm picking web storage because the other storage...
Records have `createSilent`, `readSilent`, `readOneSilent`, `updateSilent`, and `deleteSilent`. It should also have a `saveSilent`.
Marilyn should be able to declare schemas just like Mongoose. Data type conversion should happen automatically as well.
Marilyn's watch method should keep a Marilyn model's collection in sync with a Mongoose model based on one or more queries sent to the server via Socket.IO. This will be...
The expected data types aren't expressed well in the documentation for various events.
The Socket.IO support should be a plugin so that other WebSocket systems, like Primus, can be supported. This would also allow AJAX based systems to be supported using long polling...
Records could be stored in the browser using the `localStorage` object.
Currently only one `before`, one `after`, and one `receive` can be added to a model at a time. There should be more allowed.
Query results should be optionally real time, meaning they will change as the collection changes. This might introduce some other problems, but I think they can all be solved elegantly.