Skip to content

Trippo is an Uber clone built using Flutter for cross-platform mobile app development (iOS and Android) and Firebase for backend services. The app provides a seamless experience for riders and drivers, including features like ride booking, real-time tracking, payment integration, and ratings.

Notifications You must be signed in to change notification settings

hyderali0889/Trippo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

Trippo - Uber Clone App (Flutter + Firebase)

Overview

Trippo is an Uber clone built using Flutter for cross-platform mobile app development (iOS and Android) and Firebase for backend services. The app provides a seamless experience for riders and drivers, including features like ride booking, real-time tracking, payment integration, and ratings. With Firebase, Trippo ensures real-time communication, user authentication, and cloud storage.

Features

Rider Features:

  • User Authentication: Sign up and login with Firebase Authentication (email, phone, and social login).
  • Ride Booking: Book a ride with real-time fare estimation.
  • Real-Time Ride Tracking: View driver’s location on a map and track the ride in real-time.
  • Ride History: Check past rides with details like date, route, and price.
  • Payment Integration: Pay via integrated payment options (e.g., Stripe for credit card payments).
  • Rating & Reviews: Rate the driver and provide feedback after the ride.
  • Push Notifications: Get real-time updates about ride status via Firebase Cloud Messaging (FCM).

Driver Features:

  • Driver Authentication: Sign up with Firebase Authentication.
  • Ride Requests: Accept or decline incoming ride requests.
  • Navigation: Use real-time GPS navigation to get directions to the rider and destination.
  • Ride History: View past rides and earnings.
  • Earnings Tracker: Track earnings, including tips and commissions.
  • Push Notifications: Receive ride requests and updates.

Admin Features:

  • Dashboard: Admins can manage users, drivers, and rides.
  • Ride Monitoring: Track ongoing rides and monitor statuses in real-time.
  • Analytics: View app usage statistics and reports.
  • User & Driver Management: Approve, suspend, or delete user/driver accounts.

Tech Stack

  • Frontend:

    • Framework: Flutter (for both iOS and Android)
    • Maps: Google Maps SDK for Flutter
  • Backend:

    • Authentication: Firebase Authentication
    • Real-time Database: Firebase Firestore
    • Cloud Storage: Firebase Cloud Storage (for images and documents)
    • Cloud Functions: Firebase Cloud Functions (for server-side logic)
    • Push Notifications: Firebase Cloud Messaging (FCM)
  • Payment Integration:

    • Stripe (for processing card payments)

Setup and Installation

Prerequisites:

  • Flutter SDK: Install the latest version of Flutter from flutter.dev.
  • Firebase Account: Set up a Firebase project at Firebase Console.
  • Android Studio / Xcode: For building and testing the app on Android and iOS devices.

1. Clone the Repository

git clone https://github.com/your-username/trippo-flutter.git

2. Firebase Setup

Create Firebase Project:

  1. Go to Firebase Console.
  2. Create a new project (e.g., "Trippo").
  3. Add Firebase services (Firestore, Firebase Authentication, Firebase Cloud Functions, Firebase Cloud Messaging).
  4. Add Google Maps API and Stripe integration.

Firebase Configuration for Flutter:

  1. In the Firebase Console, navigate to "Project Settings" and add the iOS and Android apps.

  2. Download the google-services.json (Android) and GoogleService-Info.plist (iOS) configuration files.

  3. Add these files to the appropriate directories:

    • android/app/google-services.json
    • ios/Runner/GoogleService-Info.plist
  4. Enable Firebase services like Firestore, Authentication, Cloud Storage, etc.

Stripe Setup:

  • Create an account on Stripe.
  • Get the Publishable Key and Secret Key for payment integration.

3. Install Dependencies

cd trippo-flutter
flutter pub get

4. Setup Environment Variables

Create a .env file in the root of your Flutter project with the following:

GOOGLE_MAPS_API_KEY=your-google-maps-api-key
STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key

Replace the placeholders with your actual keys.

5. Run the App

To run the app on a physical device or emulator:

  • For Android:

    flutter run
  • For iOS:

    flutter run

Make sure your Android or iOS environment is set up correctly.

Usage

Rider Flow:

  1. Sign up/login: Users can sign up using email, phone, or social media accounts.
  2. Book a ride: Enter the pickup and drop-off locations, and the app will calculate the fare.
  3. Track the ride: Real-time tracking of the driver’s location and estimated time of arrival (ETA).
  4. Payment: Pay for the ride via Stripe (credit card or other payment methods).
  5. Rating & Review: After the ride, rate the driver and leave feedback.

Driver Flow:

  1. Sign up/login: Drivers sign up with essential details, including vehicle info.
  2. Accept or decline ride requests: Accept incoming ride requests based on proximity.
  3. Navigate to rider: Use the in-app navigation to reach the rider’s location.
  4. Complete the ride: Drop the rider off and end the ride.
  5. View earnings: Track the earnings and tips.

Admin Panel:

  • User and Driver Management: Admins can view and manage user and driver details.
  • Real-time Ride Tracking: Monitor ongoing rides.
  • Analytics: Generate reports on the total number of rides, earnings, and active users.

Contributing

We welcome contributions to improve Trippo. If you'd like to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Make your changes and commit them (git commit -am 'Add new feature').
  4. Push to your branch (git push origin feature-name).
  5. Open a pull request.

License

Trippo is open-source and available under the MIT License.


Trippo - Your reliable and convenient ride-hailing solution.


### Key Features of the **README.md**:

1. **Overview**: Explains what the app is about and how it works.
2. **Features**: Lists all the functionalities for riders, drivers, and admins.
3. **Tech Stack**: Describes the technologies used in building the app.
4. **Setup Instructions**: Detailed steps for setting up the development environment, including Firebase and Stripe integration.
5. **Usage**: Walkthrough for how the app works for riders, drivers, and admins.
6. **Contributing**: Instructions for contributing to the project.
7. **License**: Includes the MIT License information.

About

Trippo is an Uber clone built using Flutter for cross-platform mobile app development (iOS and Android) and Firebase for backend services. The app provides a seamless experience for riders and drivers, including features like ride booking, real-time tracking, payment integration, and ratings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published