...

>

Requirements of Uber’s Design

Requirements of Uber’s Design

Explore the critical functional requirements, like real-time location updates and ride requests, necessary for a ride-sharing platform. Define non-functional constraints, including high availability and consistency, and perform resource estimation for servers, storage, and bandwidth.

Requirements

Let’s define the requirements for a ride-hailing system like Uber.

Functional requirements

Key functional requirements include:

  • Update driver location: Automatically track driver coordinates at regular intervals.

  • Find nearby drivers: Display available drivers in the rider's vicinity.

Note: Drivers can be ranked not only by proximity but also by ratings, popularity, or other relevance metrics to optimize matching.

  • Request a ride: Riders request a ride, and the system notifies the nearest driver.

  • Manage payments: Handle payment processing at the start and end of the trip.

  • Show driver estimated time of arrival (ETA): Display the driver's arrival time to the rider.

  • Confirm pickup: Drivers confirm when they have picked up the rider.

  • Show trip updates: Provide real-time status (ETA, location) to both parties during the ride.

  • ...