Wain Logistics Architecture

Cover project image

Deliver items to the client within an hour or less

Overview

Wain Logistics is a platform that home-businesses and companies can use to deliver items to the client within an hour or less. The system will include features like: placing orders, tracking in real time orders and deliveries, select the most convenient delivery company, offer integration with 3rd party vendors and others.

Objectives

  1. Fast delivery time
  2. Track delivery at all times
  3. Integration with other vendors websites

Client

Wain Logistics

Industry

Delivery

Location

Kuwait

Tech Stack

ReactJS

ReactNative

GraphQL

TypeScript

Apollo

Redis icon

Redis

MySQL icon

MySQL

Twilio icon

Twilio

Linux icon

Linux

Challenges

One of the main challenges in designing this solution was that we needed a tracking system that is flexible (i.e. offer information to multiple parties), efficient (preserve battery life) and fast (make read/write operations very fast).

So we decided to use Redis for the persistence layer for location and we also design a separate web interface and API that would allow the flexibility of this feature.

NUmbers

Technical Overview

For the front end we used React and React Native as main technologies. We felt that being in the concept stage, things will change and React/React Native allows for a fast paced work and also integration with a lot of 3rd parties libraries.

Having a rich data model we decided to use GraphQL in order to make everything more efficient. These means that on the front end we needed some state management compatible with GraphQL so we went with Apollo-Client.

To make everything as bug free as possible we decided to use Typescript instead of Javascript. Having types is very helpful in large code bases.

Outcome

four

The outcome of this project is a detailed tech architecture and plan ready to be implemented.