- Build a mobile app (mostly some sort of CRM/ERP kind of app), where ALL the features need to work offline - This means that all the data (for the currently logged-in user) needs to reside on the mobile device. - This also means that any CRUD operation needs to hit the local data-store first, and should be synced in the background with a remote data-store. - This also means that if the user signs into another mobile device, a relevant subset of the remote datastore should be "restored" on the mobile device. - Probably a few other subtleties that I haven't thought through yet.
Is there any stable/production-grade DB that solves this problem? Bonus points if it's an RDBMS, because building reports for a CRM/ERP is 10x easier on top of an RDBMS vs a document/JSON DB.
https://help.sap.com/viewer/4949f39728bd400ebee2fb94687cc74f...
1. Store data locally in SQLite.
2. Export from DB to JSON string.
3. Encrypt JSON with in memory password.
4. Save encrypted string on backend server running Laravel and MySQL.
Basically, I provided backend only for sync functionality. And I liked that data was encrypted on client, so I had less liability.
If offline first isn't a must have and you're ok supporting 'intermittent offline' then Firestore with offline enabled is probably your simplest option
[0] - https://realm.io/