Wain Logistics Architecture
Deliver items within an hour or less
Overview
Wain Logistics is a platform that businesses can use to achieve delivery of items to their customers in under an hour. The feature set includes ordering, real-time delivery tracking, identifying the optimal shipping provider, and integration with partner vendors.
Objectives
- Extremely fast delivery time
- Full end-to-end item tracking
- Integration with other vendor websites
Client
Wain Logistics
Industry
Delivery
Location
Kuwait
Tech Stack
ReactJS
ReactNative
GraphQL
TypeScript
Apollo
Redis
MySQL
Twilio
Linux
Project challenges
The central challenge in designing this solution was to develop a tracking system that performs in three key areas. It had to be flexible (i.e. offer information to multiple parties), efficient (to preserve battery life), and fast (rapid read/write operations).
To achieve these goals in combination, we decided to use Redis for the persistence layer for location and then designed a separate web portal and API that would provide the flexibility we needed for user interface and integration
Technical Overview
For the front end we used React and React Native as the main technologies, primarily to guarantee flexibility as we moved from the concept stage to production. React/React Native allows for fast-paced, agile development and integrates readily with a range of third-party libraries.
Having a rich data model we decided to use GraphQL in order to improve efficiency. On the front end, we needed a compatible state management solution so we went with Apollo-Client.
To reduce the burden of error checking/bug fixing as far as possible we decided to use Typescript instead of Javascript - having types is very helpful in large code bases.
Outcome
Wain Logistics now has a framework for a more customizable, stable, and modern app providing an excellent user experience for their partners and customers alike. The planned architecture keeps extensibility in mind, making it simple (and economical) to add extra features in the future.