High-level Design of Uber
Learn how to design an Uber system.
Workflow of our application
Before diving deep into the design, let’s understand how our application works. The following steps show the workflow of our application:
-
All the nearby drivers except those already serving rides can be seen when the rider starts our application.
-
The rider enters the drop-off location and requests a ride.
-
The application receives the request and finds a suitable driver.
-
Until a matching driver is found, the status will be “Waiting for the driver to respond.”
-
The drivers report their location every four seconds. The application finds the trip information and returns it to the driver.
-
The driver accepts or rejects the request:
-
The driver accepts the request, and status information is modified on both the rider’s and the driver’s applications. The rider finds that they have successfully matched and obtains the driver’s information.
-
The driver refuses the ride request. The rider restarts from step 2 and rematches to another driver.
-