> Ideally, other than account creation (which seems like requiring internet is fine), everything caches automatically and syncs magically.
This is pretty much how an offline-first app using rxdb (or just PouchDB) together with PouchDB works.
Offline account creation? Just let the user use the app locally without creating an account.
I only have two pain points with a CouchDB/PouchDB setup:
1. Technically, a user could post some garbage into his database after obtaining a session token. Design docs can help, but still cause overhead.
2. Only the "one database per user" approach properly ensures that each user can only access his private stuff. But then, querying information across users always requires to write some script that fetches the info from each database and aggregates them - instead of making one simple query.
This is pretty much how an offline-first app using rxdb (or just PouchDB) together with PouchDB works.
Offline account creation? Just let the user use the app locally without creating an account.
I only have two pain points with a CouchDB/PouchDB setup:
1. Technically, a user could post some garbage into his database after obtaining a session token. Design docs can help, but still cause overhead.
2. Only the "one database per user" approach properly ensures that each user can only access his private stuff. But then, querying information across users always requires to write some script that fetches the info from each database and aggregates them - instead of making one simple query.