abubakr alameri

Project

Dawafast (automate delivering process)

gallery

Description

Dawafast is a drug company that has multiple stores and offers delivery services. The company wanted to improve their delivery process by automating it. I will describe the problem they faced and the solution we provided.

The problem: The company had a complex delivery process that involved dividing the city into small zones, each with its own drivers and pharmacies. The company had two types of pharmacies: Enayah and regular pharmacies. Enayah was more profitable than regular pharmacies, so the company wanted to give Enayah more orders. However, sometimes the orders were not fully available in one pharmacy, so the drivers had to collect them from different pharmacies in the same zone.

The solution: We designed and developed a software system that automate the delivery process and optimized the order allocation. The system worked as follows:
  • When a customer purchased an order in the marketplace, an event was triggered in the system through webhook about the new order.
  • The system notified Enayah pharmacies first about the order. If none of them accepted the order within 10 minutes, the system notified regular pharmacies as well.
  • The system assigned the order to the first pharmacy that accepted it. If the order was partially available in one pharmacy, the system split the order and assigned it to another pharmacy in the same zone.
  • The system notified drivers about the order and its location. The first driver who accepted the order received a map that showed him the route to the pharmacies and then to the customer.
  • The driver collected the order from the pharmacies and delivered it to the customer.

This is just an overview, but the system has so much complexity that has not been described here.

We used Laravel for the back-end, Flutter for the mobile app, and ReactJS for the web front-end. We also integrated third-party APIs like Google Maps and Firebase Cloud Messaging.

By using the system, the company was able to streamline their delivery process and increase their profitability. They reduced the cost and time of delivering orders. They also increased their customer satisfaction by delivering orders faster and more accurately.