Mobile Platform for E-commerce
A platform connecting an online store and a checkout system for small stores operations optimization.
Zebra iOS SDK
Payment by Card
Shoplabs is a platform that connects online stores and checkout systems with the help of one solution, which is aimed to optimize operations for small independent stores.
The task for LANARS was to do a refactoring (a redesign and bug fixing) for an existing mobile client. Our cooperation resulted in an efficient and improved product that enables to facilitate sales process starting from inventory updates to payment processing.
During Shoplabs development, we worked with POS (point-of-sale) hardware equipment and its configuration for an iOS app. We have added support for a new Zebra barcode scanner DS2278 via Zebra iOS SDK. Our team has also refactored a printer manager to improve printer connection and app stability. We’ve rewritten the algorithm for payment via bank cards with Ingenico terminals. Miura terminal support is coming soon. Our developers have rewritten Network layer using latest Swift language feature — async/await. We were using SwiftUI framework for the flows we’ve been working on.
The mobile solution empowers commerce for stable operations, facilitates the process of both physical and digital stores management — discover more features of the application in the advantages section.
Shoplabs solution is backed by 4G technology, so small stores are able to work wherever and whenever they want: either they are going to bring the checkout on market day or Wi-Fi in the store stops working — they are able to continue the selling process.
Both a physical and an online store can be integrated into the same system so that you always have an overview of both in one system.
The platform would allow small store owners to streamline their operations and reduce time spent managing the online store and checkout system separately.
The platform would also help reduce costs associated with operating the online store, such as hosting and maintenance costs.
Inability to precisely debug POS behavior in production.
We updated logging to be able to gather as much data as possible remotely to tackle issues as soon as possible. In addition to that, we configured alerts to be immediately notified about critical failures in production.
Long compilation time and spaghetti code in a bunch of places.
We introduced Swift Package Manager to split the codebase to small and compact modules. It reduced incremental build time as well as let us organize and maintain code way better than before.