From design to MVP
5 weeks, 326 hours
Remote Assembly delivered an offline-capable android app using an in-app database with version control capabilities to synchronize inventory between multiple POS app instances. We have overcome the offline capabilities challenges, Salesforce bi-directional synchronization challenges, and even hardware integration challenges despite the fact that all of us worked remotely.
Google Cloud Functions, CouchDB
React Native, PouchDB
Offline capabilities challenges
This app must function properly despite possible internet connection interruptions. To make the app work without the internet connection, we decided to use an in-app database. But if a shop has multiple POS instances, then all of them have to manage the same inventory. To make this possible, we had to establish app-to-server synchronization the same way git version control works. So, if 2+ POS apps modify the same inventory entry, the server will handle it: it will modify the relevant inventory record properly and synchronize it between all POS apps.
Salesforce synchronization challenge
Salesforce added another layer of complexity to this project. In-app databases must be synchronized with a server-side database and the latter one must be synchronized with Salesforce instance.
Hardware integration challenge
We are an all-remote development shop, yet we had to find a way to make app control cash drawer, label printer, receipts printer and scales. We got our hands on some of the required devices and emulate others.