33 ms·
I run personal food storage inventory system as a webapp/pwa: https://www.foodstorageplanner.com https://www.foodstorageplanner.com Front end runs Vue 2 with Q
by BackBlast 5y ago
I run personal food storage inventory system as a webapp/pwa: https://www.foodstorageplanner.com https://www.foodstorageplanner.com
Front end runs Vue 2 with Quasar, JsBarcode, custom service worker, and PouchDB for local data persistence. The stack is optimized for ease of adding features with the pre-build GUI components, and front end PouchDB facilitates offline capability as well as keeping a user's various clients in sync.
The backend uses an nginx proxy to CouchDB for data persistence and replication, a small node.js API, and product data from various free repositories. CouchDB serves as the master store as well as the hub of replicating data between clients on the same account.
The architecture and tech choices are very closely tied to client desires. Clients planning for disasters demand the software continue to function offline or in degraded network environments, so this feature drives the overall offline-first data architecture. Data needs to remain in sync across a family's devices so the replication and keeping all the clients up to date is a big value add.