Uber-Ride Platform
A console-based C++ simulation of a ride-hailing platform featuring A* route finding, top-k driver matching, a vehicle factory, and swappable pricing strategies.
Role: Backend Developer
Duration: 15 Jul - 30 Jul 2026
Tech Stack
Introduction
Uber-Ride Platform is a console-based C++ simulation of a ride-hailing platform. It demonstrates core object-oriented design patterns and algorithms used in real-world ride-booking systems, including city graph modeling, A* route finding, nearest-driver matching, a vehicle factory, and swappable pricing strategies.
Key Features
- City Graph Modeling: Locations and roads are modeled as a graph for realistic routing.
- A Shortest-Route Search*: Computes efficient routes between pickup and destination points.
- Top-k Nearest Driver Matching: Finds the closest available drivers by vehicle type.
- Vehicle Factory: Dynamically creates Bike, Auto, Sedan, and SUV vehicles.
- Swappable Pricing Strategies: Supports Normal, Surge, and Pool pricing via the Strategy pattern.
- Full Ride Lifecycle: Handles request, driver assignment, start, mid-ride stop addition, completion, and cancellation.
- Console Notifications & Receipts: Simulates rider/driver notifications and prints trip receipts.
- Demo Flow:
src/Main.cppincludes a runnable demo with Delhi NCR sample locations.
Technical Insights
- Language: C++11 using only the standard library.
- Dependencies: No third-party libraries required.
- Build System: Compiled manually with
g++. - Design Patterns: Strategy (pricing), Factory (vehicles), and object-oriented domain modeling.
- Algorithms: A* search for routing and top-k selection for driver matching.
- Data Structures: Graph adjacency list for city locations and roads.
Run it locally
# Compile the simulation
g++ -std=c++11 src/Main.cpp -o uber
# Run the simulation
./uber
Source Code
View the full implementation on GitHub: rahim709/uberProject.