/uber_for_x_iOS

Uber-for-X driver & customer apps using HyperTrack SDK

Primary LanguageSwiftMIT LicenseMIT

Uber-for-X driver & customer apps using HyperTrack SDK

Uber’s business model has given rise to a large number of Uber-for-X services. Among other things, X equals moving, parking, courier, groceries, flowers, alcohol, dog walks, massages, dry cleaning, vets, medicines, car washes, roadside assistance and marijuana. Through these on-demand platforms, supply and demand are aggregated online for services to be fulfilled offline.

This open source repo/s uses HyperTrack SDK for developing real world Uber-like consumer & driver apps.

  • Uber-for-X Consumer app can be used by customer to :
    • Login/signup customer using Firebase phone-number authentication
    • Show available cars near customer's current location
    • Allow customer to select pickup and dropoff location
    • Show estimated fare and route for selected pickup and dropoff location
    • Book a ride from desired pickup and dropoff location
    • Track driver to customer's pickup location
    • Track the ongoing ride to dropoff location
    • Let customers share live trip with friends and family
    • Show trip summary with distance travelled

  • Uber-for-X Driver app can be used by driver to :
    • Login/signup driver using Firebase phone-number authentication
    • Find new rides
    • Accept a ride
    • Track and navigate till customer's pickup location, and mark the pickup as complete
    • Track and navigate from customer's pickup to dropoff location, and mark the dropoff as complete
    • Show trip summary with distance travelled

How to Begin

1. Get your keys

2. Set up consumer & driver app

# Clone this repository
$ git clone https://github.com/hypertrack/uber_for_x_iOS.git

# Go into the repository
$ cd uber_for_x_iOS/RideSharingApp

# Install dependencies
$ pod install
  • Open RideSharingApp.xcworkspace
  • Add the publishable key to initialHyperTrackSetup() function in UserSampleApp AppDelegate.swift file and DriverSampleApp AppDelegate.swift file
HyperTrack.initialize("YOUR_PUBLISHABLE_KEY")
  • Change the bundle identifiers of both apps as per your requirements.

3. Set up Firebase Realtime Database

4. Tracking

  • In these samples apps, Driver app creates actions for pickup and drop, which are tracked by Driver & Consumer apps.

Documentation

For detailed documentation of the APIs, customizations and what all you can build using HyperTrack, please visit the official docs.

Contribute

Feel free to clone, use, and contribute back via pull requests. We'd love to see your pull requests - send them in! Please use the issues tracker to raise bug reports and feature requests.

We are excited to see what live location feature you build in your app using this project. Do ping us at help@hypertrack.com once you build one, and we would love to feature your app on our blog!

Support

Join our Slack community for instant responses, or interact with our growing community. You can also email us at help@hypertrack.com.