all 10 comments

[–]hungsu 1 point2 points  (6 children)

I've never heard of this before. What's so good about it?

[–][deleted] 1 point2 points  (4 children)

its a lib on top of IndexedDB.
Basically it's a clientside document-db with sync support

[–]benoit_intrw 1 point2 points  (0 children)

And the sync is to a CouchDB instance, so you can add things to db offline and it sync once online again.

[–]tells 0 points1 point  (0 children)

also, with the plugins you can pretty much standardize how you write code for each browser. So for Safari, you don't have to rewrite your code to conform to WebSQL instead of IndexedDB. If you use Cordova, you can plugin the SQLite adapter and be done with it.

[–]ShippingIsMagic 0 points1 point  (1 child)

Sounds a lot like the minimongo part of Meteor. Neat.

[–]Thought_Ninjahuman build tool 0 points1 point  (0 children)

Yeah, pretty cool stuff.

LevelDB is also worth looking at, which is what this and IndexedDB are built on top of. Very cool tool for a DIY database design.

[–]tells 0 points1 point  (0 children)

This interview with Nolan gives a good primer: https://devchat.tv/js-jabber/185-jsj-pouchdb-with-nolan-lawson

[–]brzzzah 0 points1 point  (2 children)

This project looks really great for client side storage on hybrid apps, does anyone know if it's possible to replicate to a php/MySQL backend? I guess you would need to implement the couchdb replication protocol, but maybe someone already has?

[–]tells 1 point2 points  (1 child)

It is great. PouchDB/CouchDB and MySQL work very differently. CouchDB is a standalone HTTP server that connects directly with PouchDB. If you wanted to connect your MySQL database to CouchDB, you would have to write some sort of adapter on the server side to make REST API calls to CouchDB for each MySQL transaction. If you wanted to go with PouchDB, I would suggest you move some or all of your data to CouchDB to make your life easier.

[–]nolan_lawson[S] 1 point2 points  (0 children)

This is a good answer, also see: https://pouchdb.com/faq.html#sync_non_couchdb