Inspiration

  • Build a fully functional and smooth ride-hailing service prototype using the on-demand mobility and delivery solutions provided by the Google Maps Platform.

What it does

This is a ride-hailing app prototype that simulates the entire process from requesting a ride to the end of the trip, consisting of three core parts:

  • Rider App:Use autocomplete/geocoding to select the origin and destination; get estimated route, distance, and travel time before requesting a ride; after a car is assigned, see the driver's real-time location and route on the map。
  • Driver App:Receive orders; use navigation to head to the passenger's location and destination; report real-time location and trip status to the system。
  • Service Backend:Receive passenger requests, create trips in FleetEngine; search for nearby available drivers; manage the lifecycle of trips。

How we built it

The backend calls Fleet Engine as the core of the entire system, managing all driver vehicles and trip statuses.

  • The rider app uses the Consumer SDK to subscribe to and display trips.
  • The driver app integrates the Navigation SDK for navigation and uses the Driver SDK to report the driver's real-time location and status.

Challenges we ran into

(1) Trip Status Management:

  • Complexity: Trip status management involves multiple stages, from trip creation, driver acceptance, passenger pickup, to trip completion and fare settlement. Each stage requires precise status updates.
  • Real-time Requirements: The system must reflect changes in trip status in real-time to ensure that both passengers and drivers have the most up-to-date information.

(2) Data Consistency:

  • Multi-Endpoint Synchronization: Data consistency must be maintained across rider, driver, and service endpoints. Any update on one end needs to be promptly synchronized to the others.
  • Concurrency Handling: Ensuring data consistency and integrity when multiple users operate on the same trip or resource simultaneously is a key issue in high-concurrency scenarios.

These challenges pose high demands on system stability and user experience, necessitating solutions through technical means and optimization strategies.

Accomplishments that we're proud of

Throughout the entire project development process, our greatest pride lies in the meticulously crafted, ultra-smooth user experience we have delivered to our users. We have achieved a high degree of smoothness in both the real-time updates of the driver’s location and the dynamic presentation of route changes. During the usage process, users no longer have to endure unpleasant experiences such as lagging or abrupt changes. Every location refresh and route adjustment is as natural and fluid as running water.

What we learned

  • By adopting Fleet Engine as the sole authoritative source for all real-time data, we have fundamentally solved the challenge of data consistency and decoupled the real-time data streams between the client and backend. This has made the system more robust and easier to maintain.
  • Google's solution provides a highly encapsulated SDK that hides the complex underlying implementation. This allows us to easily implement powerful features as if we were calling a regular API, significantly improving development efficiency.

What's next for Ride-hailing App Prototype

  • Create a backend management dashboard for monitoring fleet status, viewing operational data, and managing users.
  • Add complete registration, login, profile, and trip history features for both passengers and drivers.

Built With

Share this project:

Updates