Requirements of Uber’s Design
Learn about the requirements to design an Uber service.
Requirements
Let’s start with the requirements for designing a system like Uber.
Functional requirements
The functional requirements of our system are as follows:
-
Update driver location: The driver is a moving entity, so the driver’s location should be automatically updated at regular intervals.
-
Find nearby drivers: The system should find and show the nearby available drivers to the rider.
-
Request a ride: A rider should be able to request a ride, after which the nearest driver should be notified about the rider’s requests.
-
Manage payments: At the start of the trip, the system must initiate the payment process and manage the payments.
-
Show driver estimated time of arrival (ETA): The rider should be able to see the estimated time of arrival of the driver.
-
Confirm pickup: Drivers should be able to confirm that they have picked up the rider.
-
Show trip updates: Once a driver and a rider accept a ride, they should be able to constantly see trip updates like ETA and current location until the trip finishes.
-
End the trip: The driver marks the journey complete upon reaching the destination, and they then become available for the next ride.