Introduction

Overview of OvoRide - The Complete Cross Platform Ride Sharing Solution

OvoRide is a complete ride-sharing solution designed to simplify transportation and connect riders with drivers seamlessly. With dedicated apps for both riders and drivers, plus a powerful admin panel for total control, OvoRide offers a robust, feature-rich platform for managing ride services efficiently. Whether you're looking to launch a ride-hailing business or optimize fleet operations, OvoRide is your all-in-one solution.

Thank you for choosing OvoRide If you have any questions not covered in this documentation, please feel free to reach out to us via email. We’re here to assist and will respond as promptly as possible. Thank you again!

Flutter App Installation Requirements

Below are the requirements needed to set up and install a Flutter app.

  • Flutter SDK (latest stable version-> 3.24.4)
  • Dart SDK (bundled with Flutter SDK-> 3.5.4)
  • Android Studio (for Android development-> Ladybug | 2024.2.1)
  • Xcode (for iOS development-> 16)
  • Android Studio (Recommended IDEs)
  • Java JDK 19 or later (for Android builds)
  • Internet connection (for package and plugin downloads)
  • Sufficient storage (at least 10GB free space)
  • Minimum 8GB RAM (16GB recommended)

Installation

Application installation process

Installation Steps:

  1. Download and Install Flutter: Visit the official Flutter installation page for the latest version and platform-specific setup instructions. Follow the guidelines for your operating system (Windows, macOS, or Linux) to complete the installation.
  2. Set Up Android Studio: Android Studio is required for developing and running Flutter apps on Android. Visit the official Android Studio download page and install the latest version. During setup, ensure that you install the Android SDK and configure the necessary environment variables for Flutter development.
  3. Verify Flutter Installation: After installing both Flutter and Android Studio, open a terminal or command prompt and run flutter doctor to check if everything is set up correctly. This command will display any missing dependencies or configurations needed for development.
  4. Connect a Device or Set Up an Emulator: Connect your Android device via USB or set up an Android emulator in Android Studio to test your app.

Folder Structure

Important details about the application folder structure



  • The assets folder contains all essential assets such as images and fonts. This is the folder to use if you need to add or update any images or custom fonts.

  • The lib folder is the main directory for all Dart code in the application. It is typically organized into subfolder such as core for utility files and dependencies, data for managing API calls and local data sources, and view for UI components and screens.

  • The main.dart file is the entry point of the Flutter application where the app's root widget and initial setup are defined.

Change App Name

App name change overview

  • For Android:
    • Open the Android project in Android Studio.
    • Update the package name in the `AndroidManifest.xml` file located at android/app/src/main/AndroidManifest.xml.
    Android Setup
  • For iOS:
    • Update the bundle identifier in the `Info.plist` file located at ios/Runner/Info.plist.
    iOS Setup

Change Google Map API Key

Steps to update the Google Map API key for both Android and iOS platforms.

You can update the Google Map API key for both Android and iOS by following these steps:

  • For Android:
    • Open the android/app/src/main/AndroidManifest.xml file.
    • Find the <meta-data> tag with the name com.google.android.geo.API_KEY.
    • Replace the current value of the android:value attribute with your new Google Maps API key.
    • Save the file and rebuild your Android project to apply the changes.
    Android Map API Key Setup
  • For iOS:
    • Open the ios\Runner\AppDelegate.swift file.
    • Find the GMSServices.provideAPIKey and update its value with your new Google Maps API key.
    • Save the file and rebuild your iOS project to apply the changes.
    iOS Map API Key Setup

Change App Icon

App icon change overview

  • For Android:
    • Prepare the icon images in various sizes (e.g., 48x48, 72x72, etc.).
    • Navigate to the `res` directory at android/app/src/main/res/.
    • Replace the default icons in the `mipmap-*` directories with your new app icon files (e.g., mipmap-hdpi/ic_launcher.png).
    • Ensure that you follow the required naming conventions for different densities (e.g., `mipmap-mdpi`, `mipmap-hdpi`, `mipmap-xhdpi`, etc.).
    • Update the icon in the AndroidManifest.xml file if necessary.
    Android Icon Setup
  • For iOS:
    • Prepare the app icon images in multiple sizes (e.g., 60x60, 120x120, 180x180, etc.).
    • Open the iOS project in Xcode.
    • Navigate to the Assets.xcassets folder in the project navigator.
    • Find the `AppIcon` set and drag your new icon images into the appropriate boxes for different sizes (e.g., 60pt, 120pt, etc.).
    • Ensure that the icon set includes all required sizes for both iPhone and iPad.
    iOS Icon Setup

Edit App Strings

Customize the display text across the app by modifying string values.

The app's strings are managed in the file located at: lib/core/utils/my_strings.dart.

  • Open my_strings.dart in your preferred code editor.
  • Locate the string constants, which are typically organized for each screen or feature.
  • Edit the text values as needed, and save the file to apply your changes throughout the app.
  • Ensure you rebuild the app if required to see updates in the app UI.
  • App Strings

Change Base URL

Overview of how to change the base URL for your app's API requests.

  • For Both Android and iOS:
    • Open the `lib` directory of your Flutter project.
    • Locate the file that manages your network configurations (e.g., lib\core\utils\url_container.dart).
    • In this file, define the domain URL for your API requests (e.g., static const String domainUrl = 'https://yourapi.com';).
    • Ensure all network calls use this base URL for making API requests throughout the app.
    Base URL Setup

Change App Color

Overview of how to change the app's primary and secondary color scheme.

  • For Both Android and iOS:
    • Open the `lib` directory of your Flutter project.
    • Navigate to your utils folder (e.g., lib\core\utils\my_color.dart).
    App Color Setup

Change Package Name

Overview of how to change the package name for both Android and iOS in your Flutter app.

  • For Android:
    • Open the Android project in Android Studio.
    • Update the applicationId in the android/app/build.gradle file:
    • defaultConfig { applicationId "com.ovosolution.ovoridedriver" }
    • Right click on project folder and click on Replace in Files
    Android Package Name Setup
  • Search com.ovosolution.ovoridedriver in the first indicated box and your own package name in the second marked box. Then click Replace All button
  • Android Package Name Setup

Setting Environment Variables in Flutter

Learn how to configure environment variables in Flutter using the `environment.dart` file for different environments like development, staging, and production.

The app's environment configuration is stored in the file located at: lib/environment.dart.

  • Open environment.dart in your preferred code editor.
  • Locate the environment variables section where you define different variables for various environments.
  • Set the values for each environment by modifying the respective key-value pairs in the file.
  • Ensure you rebuild the app after making changes to the environment file to apply the new configuration.
  • Environment Variables Setup

How to Change Onboard Images in Your Flutter App

This section describes how to update or change the onboarding images used in your Flutter application.

To change the onboard images for your app, follow these steps:

  • Go to the assets/images/onboard directory in your Flutter project.
  • Replace the existing images with the new images you want to use for onboarding.
  • Ensure the new images follow the same naming convention and dimensions as the old ones. For example:
    onboard_1.png
    onboard_2.png
    onboard_3.png
  • If needed, update the paths in the code where the images are used, such as in the onboarding screen widget.
  • Don't forget to run flutter pub get to update the assets configuration.
  • Onboard Images

Update Firebase Settings for Flutter

Learn how to update Firebase settings for your Flutter app using the Firebase CLI tool and FlutterFire.

  • Follow the official Firebase documentation to add Firebase to your Flutter app:
  • Step 1: Install Node.js and npm:
    • First, ensure you have Node.js and npm installed. If not, follow these steps:
      • Download Node.js
      • After installation, verify if Node.js and npm are installed by running:
        node -v
        npm -v
  • Step 2: Install Firebase CLI:
    • Install the Firebase CLI globally using npm:
      npm install -g firebase-tools
    • After installation, verify if Firebase CLI is installed by running:
      firebase --version
    • Log in to Firebase using your Google account:
      firebase login
  • Step 3: Install FlutterFire CLI:
    • Install the `flutterfire_cli` tool globally using the following command:
      dart pub global activate flutterfire_cli
    • Ensure the `dart pub global` bin directory is in your PATH. You can check if the tool is installed by running:
      flutterfire --version
  • Step 4: Configure Firebase for Your Flutter Project:
    • Run the following command to configure Firebase in your Flutter project:
      flutterfire configure --project=your-firebase-project-id
    • This command will automatically download the necessary configuration files (`google-services.json` for Android and `GoogleService-Info.plist` for iOS), modify the `pubspec.yaml` to include the required dependencies, and set up Firebase services.

Social Authentication Setup

Learn how to configure and integrate social authentication providers like Google.

Google Authentication

  • Step 1: Enable Google Sign-In:
    • Go to **Firebase Console > Authentication > Sign-in method**.
    • Android Map API Key Setup
      Android Map API Key Setup

    • Enable **Google** and provide a valid support email.
    • Android Map API Key Setup
      Android Map API Key Setup

    • Add the **SHA-1 key** to your Firebase project.
    • Android Map API Key Setup

Keystore Setup and Retrieving SHA-1/SHA-256 Keys

Learn how to generate a keystore and retrieve the SHA-1 and SHA-256 keys for your Flutter app.

Step 1: Generate Keystore

  • Follow the official Flutter documentation to Build and release an Android app:
  • Or Open a terminal or command prompt and navigate to a folder where you want to save your keystore.
  • Run the following command to generate a keystore:
    keytool -genkey -v -keystore your_keystore_name.jks -keyalg RSA -keysize 2048 -validity 10000
  • You will be prompted to enter the following details:
    • Your name and organization details
    • A password for the keystore
    • A password for the key alias (can be the same as the keystore password)
  • After successfully running the command, you will have a file named `your_keystore_name.jks`.

Step 2: Add Keystore to Your Flutter App

  • Place the keystore file (`your_keystore_name.jks`) in the `android/app` directory of your Flutter project.
  • Edit the `android/app/build.gradle` file and add the keystore configuration under the `android {}` block:
    android { ... signingConfigs { release { keyAlias 'your_key_alias' keyPassword 'your_key_password' storeFile file('your_keystore_name.jks') storePassword 'your_keystore_password' } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled false shrinkResources false } } }

Step 3: Retrieve SHA-1 and SHA-256 Keys

  • Open a terminal or command prompt.
  • Run the following command to get the SHA keys:
    keytool -list -v -keystore your_keystore_name.jks
  • Enter the keystore password when prompted.
  • The output will include the SHA-1 and SHA-256 keys under the certificate details. For example:
    Certificate fingerprints: SHA1: 12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78 SHA256: AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF

Support

How to get assistance

Email Us: [email protected]