GoRide is an advanced and scalable taxi booking application designed with secure, modern technologies:
Flutter for Android & iOS mobile applications
Laravel/PHP Framework for the powerful Admin Panel
Server Requirement#
To run GoRide smoothly, your server must meet the following minimum requirements:
2.1. Prerequisites
Web Server: Apache or NGINX
PHP: Version 8.0 or above
Database: MySQL 5.7+
Composer: For managing PHP dependencies
Domain: Specify your domain name (e.g., example.com) for the application to function properly.
SSL Certificate: Required for secure connections (HTTPS)
FTP: Used for transferring files between local and server environments.
Cron Job: Required for running Laravel scheduled tasks automatically.
2.2. APIs & External Services
Google Maps API Key for Accurate Search Result Required for map display, geolocation, and business search Enable Places, Maps JavaScript, and Geocoding APIs
3.2 : Click on “Go to console” in the top right corner.
3.3 : Click on “Add project”, it will redirect you to the new project creation page Enter your project name and click on “Continue” again click on “Continue” after that select “Default Account fo firebase” and then click on “Create Project”
3.4 : After successfully creating a new project, you will be directed to the overview page. From there, simply navigate to the icons link to proceed further.
Upon redirection, you’ll land on the ‘Add Firebase to your web app’ page. Here, input your app’s nickname and proceed by clicking ‘Register app’. Afterward, scroll down to find detailed information as outlined below.
All of these details will be incorporated into both the app and admin panel documentation for comprehensive reference and seamless integration.
3.5 : Next, navigate to ‘Firestore Database’ in the left sidebar. Select your project name from the drop-down menu, and then proceed by clicking on ‘Create database’.
3.6 : Choose your preferred option and click on the ‘Next’ button. Subsequently, proceed by clicking on “Enable”
3.7 : Following that, locate “Realtime Database” in the left sidebar. Select your project name from the drop-down menu, and proceed by clicking on “Create Database”
3.8 : Choose your preferred option and proceed by clicking the “Next” button, then click on “Enable” to activate the selected feature.
3.9 : Firstore Database Rules Update.
Important Notes:
Please update the following rules in your firestore database.
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
3.10. Upgrade your firebase plan.
See Video:
Admin Panel Setup#
4. Admin Panel Setup (Laravel)
Ensure that your server meets the requirements outlined in the documentation’s Server Requirement section. Upon downloading the code, upload the admin zip file to your server and extract it. The admin panel can be installed on either a domain or a subdomain.
4.1 Connect to FTP and Setup
Follow these instructions to connect to your server using FTP and complete the application setup:
4.1.1. Connect to the server using FTP: Use an FTP client like FileZilla to connect to your server. Enter the server’s IP address, username, and password. Use port 21 for FTP or port 22 for SFTP.
4.1.2. Transfer the ZIP file: Upload your admin panel’s ZIP file to the server’s local path (e.g., /var/www/html).
4.1.3. Unzip the file: Navigate to the file’s location on the server and run the following command to extract the ZIP file: “sudo unzip your-application.zip” or you can do it from cpanel directly.
4.1.4. Update the .env file with your configuration: Modify the database and application settings which are mentioned in the .env file. Below is an example configuration:
4.1.5. Run the following command from the root directory of your admin panel terminal to install Firebase dependency modules required for scheduler functions.
4.1.6. Setup Node Js Path
To get the Node path from the terminal, you typically want to determine the location of Node.js or a specific file related to Node. Here are common ways to do this from the terminal:
To find out where Node.js is installed on your system, you can use the which command (on Linux/macOS):
which node
This will return the full path to the Node.js binary. For example:
/usr/local/bin/node
See this example: In our case, the Node.js path is something like the one below.
Copy this path and update it in your NODE_PATH variable.
4.2. CRON Job Setup
A cron job is a scheduled task in Unix-based operating systems that runs scripts or commands at specified intervals. Here’s how to set up a cron job on a server:
Steps to Set Up a Cron Job:
4.2.1. Log in to cPanel or in your web server 4.2.2. Navigate to the “Cron Jobs” Section 4.2.3. Add a New Cron Job
In the command field, enter the command or the path to the script you want to run.
Ensure the script you’re running has the correct permissions and is executable. You need to specify the correct PHP path (/usr/local/bin/php is common but may vary depending on your server setup) and please use your admin panel path in the CRON JOB command.
4.3 Map Configuration
Please choose your preferred map by navigating to the Admin Panel > General Settings > Map Tracking Options.
Please Note:
Recommended Google Map for accurate location and mapping results.
4.4 Notifications Settings
To work firebase push notification feature functions correctly, please upload your Firebase credentials file in the Admin Panel by navigating to General Settings > Notifications Settings.
Navigate to your Firebase Project Settings > Cloud Messaging. Under Firebase Cloud Messaging API, you will find the Sender ID.
Go to Firebase Project Settings > Service accounts, scroll down and click on the ‘Generate new private key’ button. A JSON file will be downloaded.
Steps to Configure:
To enable real-time push notifications for customers and drivers, you need to connect your application with Firebase Cloud Messaging (FCM).
1.Generate Firebase Credentials File
Go to the Firebase Console.
Select your project.
Navigate to Project Settings > Service Accounts.
Click Generate New Private Key (e.g., firebase-adminsdk-xxxxx.json).
Keep this file safe, as it contains your Firebase API keys and credentials.
2.Upload Firebase Credentials in Admin Panel
Log in to your CabMe Admin Panel
Go to General Settings > Notifications Settings.
Upload the JSON file you downloaded from Firebase
3.Save & Apply Settings
Once uploaded, click Save/Update Settings.
The system will now connect to Firebase for sending push notifications.
4.Verify Push Notifications
Test by creating a new booking from the user app.
The assigned driver should instantly receive a push notification.
Customers will also get updates (ride accepted, driver arriving, ride started, ride completed).
4.5 Accessing the Admin Panel
Default Admin User Credentials
URL: Your desired URL where the admin panel is set up. Email: admin@goride.com Password: 12345678
Admin Panel Menus#
5. Admin Panel Menus Overview
5.1. Dashboard
Provides an at-a-glance overview of the business. Displays analytics such as total customers, registered drivers, completed rides, latest rides, top drivers, and overall earnings overview. Helps admins quickly monitor performance.
5.2. Live Monitoring
Live Tracking
Monitor drivers and vehicles in real time on the map. Useful for managing rides, ensuring driver accountability, and providing live support.
Zone
Service zones allow you to define the exact areas where your platform operates, such as specific cities, regions, or neighborhoods. Within each zone, Additionally, zone-based policies give you flexibility to apply different operational rules for each area, ensuring a more accurate, efficient, and localized service experience.
Surge Zone
Surge zones allow you to define specific areas where dynamic pricing adjustments can be applied based on demand and supply conditions. By configuring surge zones, you can increase or decrease pricing surge within selected locations during peak hours, high traffic, or limited availability of service providers. This helps maintain service balance, optimize resource allocation, and ensure better operational efficiency while delivering a responsive and localized user experience.
You can configure surge zone settings by navigating to Settings > Global Settings.
5.3. Access Management
Access Control
Create and manage admin permission groups (e.g., Super Admin, Editor, Dispatcher). Control what each admin role can view or edit within the system.
5.4. Account Management
Users
The Customers page allows administrators to view and manage all customer accounts registered through the mobile application. Each profile displays essential details such as personal information, contact data, and account status. Admins can review a customer’s complete ride history, including completed, canceled, and ongoing bookings, to monitor activity and resolve issues quickly. Ensuring better coordination and customer support. This page also provides the ability to edit or deactivate accounts, helping maintain a secure and well-managed user base.
Drivers
The Drivers page provides administrators with full control over managing individual driver accounts on the platform. Each driver profile displays personal details, uploaded documents, and verification status to ensure compliance and safety. From this page, admins can review and approve driver applications, track their current availability, and monitor active or completed trips. The system also offers insights into driver earnings, commission deductions, and payout history for transparent financial management. Additionally, admins can update driver information, suspend accounts if necessary, and maintain a reliable pool of professional drivers for smooth operations.
Fleet Drivers
The Fleet Drivers page is designed to manage drivers who are associated with registered fleet owners. Unlike independent drivers, these drivers operate under a specific owner’s fleet, allowing for organized group management. Administrators can view detailed profiles of fleet-linked drivers, including assigned vehicles, and ride activity. This page also provides visibility into each driver’s earnings and commission, ensuring accurate revenue tracking between drivers, fleet owners, and the platform. By centralizing fleet-based driver management, the page helps maintain accountability and smooth coordination within larger transportation networks.
Owners
The Owners page allows administrators to manage fleet owners who register and oversee multiple drivers and vehicles within the platform. Each owner profile includes essential details such as contact information, registered vehicles, and assigned drivers. Admins can monitor the performance of each fleet, including trip activity, availability, and vehicle status. The page also provides a breakdown of owner earnings, platform commission, and payout history, ensuring financial transparency. With this centralized view, administrators can easily track fleet operations, resolve issues, and maintain strong relationships with fleet partners.
Documents
The Driver Documents page allows administrators to define and manage the documents required for verification of individual drivers and fleet owners. Admins can add new document types, such as Aadhaar Card, PAN Card, Driver License, or other ID proofs, and specify which documents must be uploaded during verification. This ensures that all necessary documentation is collected to maintain compliance, authenticity, and safety on the platform.
Reports
The Reporting and Analytics section in the admin panel provides comprehensive insights into platform activity, allowing administrators to monitor performance, make data-driven decisions, and identify trends. Reports can be customized using various filters and options to generate precise and actionable information. Key options include:
Status: Filter reports by the status of rides, trips, or transactions (e.g., completed, canceled, ongoing).
Date Options: Quickly generate reports based on preset time frames like Today, This Week, This Month, or This Year.
File Format: Export reports in multiple formats such as XLS, CSV, or PDF for offline analysis, record-keeping, or sharing with stakeholders.
User Reports
The User Reports page generates detailed reports on customer activity. Administrators can track metrics such as ride history, active and canceled bookings, wallet usage, and promotional coupon redemptions. This helps identify user engagement patterns, monitor retention, and address issues impacting the customer experience.
Driver Reports
The Driver Reports page focuses on driver performance analytics. Admins can review completed trips, acceptance and cancellation rates, earnings, ratings, and feedback. These reports help evaluate driver efficiency, reward top performers, and take corrective actions for underperforming drivers, ensuring high service quality.
Ride Reports
The Travel Reports page consolidates analytics across all service types — rides. It provides insights into total revenue, number of trips, cancellations, average trip distance, and peak usage times. This data helps in resource planning, optimizing service availability, and identifying high-demand periods to enhance operational efficiency.
Intercity Reports
The Intercity Ride Reports page consolidates analytics specific to outstation trips. It provides insights into total intercity revenue, number of completed trips, cancellations, average trip distance, driver performance, and most popular city-to-city routes. This data helps in demand forecasting, optimizing route availability, adjusting pricing strategies, and ensuring better driver allocation for long-distance travel.
Transaction Reports
The Transaction Reports page provides a comprehensive view of all financial activities across the platform. It tracks completed payments, pending transactions, refunds, discounts, commissions, and wallet activity. This data helps in monitoring revenue flow, reconciling accounts, identifying payment trends, and ensuring financial transparency between riders, drivers, and the platform.
5.5. Business Setup
Subscription Plan
The Subscription Plan page allows administrators to create and manage subscription packages for drivers and fleet owners. These plans define recurring fees that drivers or owners pay to access the platform’s services, replacing or supplementing commission-based models. Each plan can include details such as pricing, billing cycle (weekly, monthly, yearly), benefits, and usage limits. Admins can track which drivers or owners are subscribed, monitor their subscription history & payment status.
Subscription History
The Subscription History page allows administrators to view and monitor all subscription transactions made by drivers and fleet owners. It provides a complete record of subscription purchases, renewals, expirations, payment status, billing details, and subscription periods. Administrators can track active, expired, and cancelled subscriptions, verify payment history, and review each user’s subscription activity for better management and reporting.
5.6. Badges
The Badges page allows administrators to create and manage achievement badges for drivers and fleet owners. Badges can be awarded automatically based on predefined criteria such as completed rides, revenue earned, years of service, ratings, or other performance milestones. Administrators can upload badge images, define eligibility criteria, enable or disable badges, and edit or remove existing badges. These badges help recognize user achievements and encourage engagement and performance on the platform.
5.7. Ride Management
Rides > Services
The services page allows administrators to define and manage multiple ride categories such as Car, Rickshaw, and Bike. It provides flexibility to add, edit, or disable service types based on market demand. This helps in offering diverse transportation options to riders, ensuring better coverage of customer needs, and optimizing fleet allocation for each service category.
Rides > Ride Orders
The Ride Orders page provides a detailed view of all ride bookings made through the platform. It includes essential information such as booking ID, rider details, driver assignment, trip status, fare amount, payment method, and timestamps. Administrators can monitor active, completed, and cancelled rides in real-time, resolve disputes, and ensure smooth ride operations. This helps in maintaining transparency, improving service quality, and optimizing the overall ride management process.
Intercity > Intercity Service
Services page enables administrators to manage different outstation service categories such as Freight, Parcel, Private Ride, and Shared Ride. Each service type can be customized with specific pricing models, vehicle requirements, and availability settings. This flexibility allows businesses to cater to diverse customer needs—whether it’s transporting goods, sending parcels, booking exclusive private rides, or offering cost-effective shared travel options across cities.
Intercity > Intercity Orders
The Intercity Orders page provides a comprehensive overview of all outstation trip bookings. It displays booking ID, passenger details, selected service type (Freight, Parcel, Private Ride, or Shared Ride), driver assignment, trip status, fare breakdown, and payment information. Administrators can track ongoing, completed, and cancelled intercity rides in real-time, manage disputes, and ensure reliable service delivery. This module helps maintain transparency, optimize long-distance operations, and improve customer satisfaction for intercity travel.
Freight
Freight Vehicle management enables administrators to define and oversee vehicles used for transporting goods. It includes details like vehicle type, load capacity, size specifications, availability, and driver assignment. This ensures efficient allocation of resources, optimized freight operations, and reliable service for businesses and customers needing goods transport.
Airports
The Airports feature allows administrators to manage airport-related ride services. It includes adding airport locations, defining pick-up and drop-off points, and configuring fare rules for airport transfers. This helps ensure seamless airport rides, optimized driver allocation, and a smooth experience for passengers traveling to and from airports.
Driver Rules
Driver Rules define the specific guidelines that passengers must follow during a ride. This can include rules such as “Pets Allowed,” “No Alcohol,” “No Smoking,” or any custom conditions set by the driver. These rules help ensure a safe, comfortable, and respectful experience for both drivers and passengers while maintaining service quality and compliance.
5.8. App Management
CMS Pages
The CMS Pages section allows administrators to create, edit, and manage static content pages within the app, such as About Us, FAQs, Terms & Conditions, Privacy Policy, and more. Each page can include text, images, and links, ensuring that essential information is clearly presented to users. Admins can update content anytime to reflect changes in policies, services, or company information. This page ensures that the app provides accurate and up-to-date information, improving transparency and user trust.
Banners
The Banners page allows administrators to create, manage, and display promotional or informational banners within the customer mobile application. Each banner can include images, text, links, or call-to-action buttons to highlight offers, updates, or important announcements. Admins can control the order, duration, and visibility of banners for different user segments, ensuring relevant and engaging content. This page helps enhance user experience, promote services effectively, and drive customer engagement through visually appealing notifications.
On Boarding
The On Boarding page allows administrators to configure the introductory screens shown to new users when they first open the mobile application. These screens can highlight key app features, explain how to use services, and provide tips for a smooth experience. Admins can add images, text, and interactive elements to make the onboarding process engaging and informative. This page ensures that new users quickly understand the app’s functionality, enhancing user adoption and reducing confusion during initial use.
FAQ
The FAQ feature provides a centralized section for frequently asked questions by users. It allows administrators to add, edit, or remove questions and answers, covering topics such as booking procedures, payment methods, ride policies, and service guidelines. This helps improve user experience, reduce support requests, and ensure passengers and drivers have quick access to important information.
SOS
The SOS page enables administrators to monitor and manage emergency alerts raised by drivers or customers in real time. Each alert provides critical information such as the location, type of emergency, and the user involved. Admins can quickly track and respond to these SOS events, ensuring prompt assistance and intervention. This page helps improve safety across the platform by enabling rapid coordination, documenting incidents, and maintaining records for follow-up and preventive measures.
Help & Support
The Help & Support feature enables real-time communication between users and administrators. It includes a chat system where users can submit queries, report issues, or request assistance, and admins can respond promptly. This ensures timely support, enhances user satisfaction, and helps resolve ride-related or account issues efficiently.
5.9. Setting Management
Tax Settings
The Tax Settings page allows administrators to configure taxes applicable across all services. Admins can define tax types such as GST, VAT, or other local taxes and specify rates for each service category. This page ensures that all fare calculations include accurate tax amounts, maintains compliance with local tax regulations, and provides transparency for customers and drivers. Proper tax configuration also helps in generating accurate financial reports and simplifies accounting and regulatory reporting.
Coupons
The Coupons page enables administrators to create, manage, and monitor discount coupons and promotional codes that customers can apply during bookings. Each coupon can be configured with specific details such as discount type (percentage or fixed amount), validity dates, and maximum usage limits per customer or overall. Admins can also define which coupon applies to rides and allow for targeted promotions. This page provides visibility into coupon performance, including redemption counts and customer usage, helping businesses run effective marketing campaigns while controlling discounts and revenue impact.
Currency
The Currency page allows administrators to define and manage the currencies supported by the platform. Admins can set default currencies, add additional currencies for global operations, and configure exchange rates to ensure accurate pricing and billing across regions. This page helps maintain consistency in financial transactions, supports multi-currency operations, and ensures that both customers and drivers see correct amounts in their local currency.
Languages
The Languages page allows administrators to manage the languages available in the admin panel. Admins can add new languages, edit existing translations, and update labels or messages to ensure the interface is accessible to a diverse team. This page helps maintain consistency across the admin panel, supports multi-lingual operations, and ensures that administrators can efficiently manage the platform in their preferred language.
Payments
The Payments section provides a comprehensive view and management of all financial transactions within the platform. It includes:
Payout Requests: Tracks and manages withdrawal requests from drivers or service providers, ensuring timely and accurate payouts.
Owner Wallet Transactions: Monitors all credit and debit activities in the platform owner’s wallet, including commissions, refunds, and adjustments.
Driver Wallet Transactions: Records earnings, incentives, and deductions for drivers, providing transparency and easy reconciliation.
User Wallet Transactions: Displays top-ups, payments, refunds, and promotional credits for users, ensuring smooth and secure financial operations.
This section helps administrators maintain transparency, manage finances efficiently, and ensure accurate tracking of all monetary activities across the platform.
Settings
Global Settings
The Global Settings page allows administrators to configure all core settings for the app, web panel, and overall platform operations. These settings ensure the platform runs smoothly, maintains consistent branding, and meets operational requirements.
Admins can define the basic platform appearance and identity:
Title & Footer: Customize the platform’s name and footer text.
App Color, Admin Panel Colors: Set color schemes for both mobile app and admin panel for consistent branding.
Radius: Configure service coverage radius for rides.
Logo: Upload platform or company logo for display across app and admin panel.
etc.
Maintenance Mode Settings
The Maintenance Mode Settings page allows administrators to temporarily disable the platform for maintenance or updates. Admins can enable maintenance mode, which displays a custom message to users indicating that the platform is currently unavailable. This ensures that users are informed about downtime, prevents new bookings during maintenance, and allows admins to perform updates or fixes safely without disrupting ongoing operations.
Business Model Settings
The Business Model Settings page allows administrators to define how the platform generates revenue from drivers and fleet owners. Admins can choose between different earning models:
Commission Model: The platform earns a percentage of each completed ride transaction.
Subscription Model: Drivers or fleet owners pay a recurring subscription fee to access the platform’s services.
Hybrid Model: Combines both commission and subscription-based earnings, allowing flexible revenue strategies.
This page ensures that the platform’s revenue model aligns with business objectives and provides flexibility to adapt to market demands or strategic changes. Administrators can adjust settings easily to implement the chosen model across all services.
Schedule Notification Settings
Schedule Notification Settings allow administrators to configure automated notifications for upcoming rides. They can set the timing of alerts to be sent to users and drivers, such as 1 day, several hours, or minutes before the ride. This ensures timely reminders, reduces missed bookings, and enhances overall communication and service reliability.
Payment Method
The Payment Methods page allows administrators to configure and manage the payment options available on the platform. Admins can enable or disable various gateways, including Cash, Stripe, PayPal, Razorpay, and Wallet payments, ensuring flexibility for both customers and drivers. This page ensures secure and seamless transactions, helps accommodate user preferences, and provides control over which payment methods are active for rides. Proper configuration also enables smooth reconciliation of payments and supports accurate financial reporting.
Privacy Policy
The Privacy Policy page allows administrators to create, update, and maintain the privacy policy content displayed to users within the app. Admins can ensure the policy complies with regulations such as GDPR and local data protection laws, clearly explaining how user data is collected, stored, and used. This page helps build trust with users, maintain legal compliance, and provide transparency regarding data privacy and security practices.
Terms & Conditions
The Terms & Conditions page allows administrators to create, update, and maintain the legal agreements displayed to users within the app. Admins can edit content to reflect company policies, service rules, and regulatory requirements, ensuring that users are informed about their rights and obligations. This page helps maintain legal compliance, provides transparency, and protects both the platform and its users by clearly communicating the terms of service.
Firestore Database Import / Export#
Firestore Database Collection Import / Export
To perform Firebase Collection Import Export, follow these straightforward steps:
6.1. To set up NPM on your computer, download Node.js from the following link: https://nodejs.org/en/download/ Node.js Download Page.
6.2. Unzip the source code file named “Firebase Import Export Collections.zip”
6.3. If you haven’t already created a Firebase project, set it up now.
6.4. Configure the credentials.json file, which you can obtain from your Firebase Project settings. Then navigate to the Service account, then select Node.js. Generate a new private key and wait until the key is created. It will automatically download and replace the current credentials.json file.
6.5. Navigate to the extracted Firebase Import Export Collections zip file path and then press and hold the Ctrl+Shift buttons. While holding them, right-click the mouse button, and select “Open PowerShell window here” from the context menu. This will open a PowerShell window where you can run the import/export command.
6.6. Execute the following commands to perform import/export operations for collections:
To import all collections, execute the following command:
To export all collections, execute the following command:
Once the export command is executed, the collections.json file will be downloaded.
Important Notes:
Prior to executing the above command, ensure that you have correctly updated your Firebase credentials in the credentials.json file.
See Video:
Deploy Firebase Cloud#
7. Deploy Firebase Cloud Functions
All the necessary Firebase Functions have been initially coded by us, you just need to deploy these functions to your own Firebase account. This means that you need to upload the source code inside the Firebase Functions folder to your account. If a Firebase account has been created, find a Firebase project, and 2 apps (iOS and Android)
7.1. Setting up Node.js and the Firebase CLI
For comprehensive guidance, refer to the official Firebase documentation on getting started: “Write, test, and deploy your first functions” in Cloud Functions for Firebase.
You’ll need Node.js and the Firebase CLI to write functions and deploy them to Cloud Functions.
To set up NPM on your computer, download Node.js from the following link: Node.js download. Once Node.js is installed, proceed to install the Firebase CLI.
Use the following command to install the CLI via npm:
npm install -g firebase-tools
If you’ve already set up the Firebase tools, you can simply run the following command:
npm install
These steps will ensure you’re ready to start writing and deploying functions with Firebase. If you encounter any issues, consult the Firebase documentation for troubleshooting assistance.
7.2. Initialize your project
To initialize the project, authenticate the Firebase tool by running the following command. You’ll be prompted to log in to your account via your web browser:
firebase login
7.3. Implementing Cloud Functions
Since we’re providing the complete source code for your Firebase Cloud Functions:
Extract the zip file Order Tracking Firebase Function folder.zip.
Fill in the necessary credentials in the following files located within the zip:
.firebaserc (Add your Firestore Project ID)
index.js (Add your Firestore database URL)
serviceAccountKey.json (Add your Firebase service account credentials)
With these steps, you’ve successfully set up the required credentials.
7.4. Deploy Firebase Functions
Simply run the following command in the Order Tracking Firebase Function > functions directory.
firebase deploy --only functions
Now you can go to your Firebase Console and check, as the functions have been deployed. It is possible to see the logs for each function, understand the output, and know when it gets called.
See Video:
Firestore Database Indexing#
8. Firestore Database Indexing
To perform Firebase indexing, follow these straightforward steps:
8.2. Unzip the source code file named “Firebase Indexing.zip” here.
8.3. Navigate to the extracted directory of “Firebase Indexing” zip file. Press and hold the ctrl+shift buttons, then right-click the mouse button. From the context menu, select “Open PowerShell window here” to launch Windows PowerShell and execute import/export commands.
8.4. Execute the command firebase login to log in to Firebase, if you haven’t already done so.
8.5. Execute the command firebase init
8.6. Proceed with Y and press the enter button.
8.7. Choose the Option > Firestore: Configure security rules and index files for Firestore.
Important Notes:
Choose the arrow down key to navigate and select options, and press the space button to confirm your selection.
8.8. Choose the Option > Use an existing project.
8.9. Choose your project
8.10. Press Enter > ? What file should be used for Firestore Rules? firestore.rules
8.11. Press Enter > ? What file should be used for Firestore indexes? (firestore.indexes.json)
8.12. Now, the firestore.indexes.json file will be downloaded. Open this file and copy all the code from firestore_indexes.json file, then paste it into firestore.indexes.json file.
8.13. Now execute the command firebase deploy --only firestore:indexes to import indexing in firestore.
See Video:
Owner Panel Setup#
9. Owner Panel Setup
9.1 Connect to FTP and Setup
Follow these instructions to connect to your server using FTP and complete the application setup:
9.1.1. Connect to the server using FTP: Use an FTP client like FileZilla to connect to your server. Enter the server’s IP address, username, and password. Use port 21 for FTP or port 22 for SFTP.
9.1.2. Transfer the ZIP file: Upload your owner panel’s ZIP file to the server’s local path (e.g., /var/www/html).
9.1.3. Unzip the file: Navigate to the file’s location on the server and run the following command to extract the ZIP file: “sudo unzip your-application.zip” or you can do it from cpanel directly.
9.1.4. Update the .env file with your configuration: Modify the database and application settings which are mentioned in the .env file. Below is an example configuration:
Note: Add Your Google Client ID for Google Login Functionality To enable Google login, you need to provide your Google Client ID.
Steps to find your Google Client ID:
1. Go to your Firebase Project in the Firebase Console.
2. Navigate to Authentication > Sign-in Method.
3. Click on Google under the list of providers.
4. Scroll down to Web SDK configuration.
5. Copy the Web Client ID.
6. Paste this Client ID in the env file of the restaurant panel.
GOOGLE_CLIENT_ID=
Steps to Check/Add Authorized Domains for OAuth 2.0 Client ID
1. Go to Google Cloud Console.
2. Navigate to APIs & Services > Credentials.
3. Open your OAuth 2.0 Client ID (Web application type).
Provides an at-a-glance overview of the owner’s business operations. Displays analytics such as total drivers, active rides, completed rides, ongoing rides, latest bookings, top-performing drivers, and overall earnings summary. Helps owners quickly monitor performance, track fleet efficiency, and make informed operational decisions.
9.2.2. Document Verification
Document Verification allows owners to securely upload and submit required documentation for approval. This can include identity proof, business licenses, vehicle registration, and other necessary certificates. The system ensures that all submitted documents are verified before activating the owner’s account, helping maintain compliance, safety, and trust on the platform.
9.2.3. Drivers
The Drivers menu allows owners to manage all drivers in their fleet. It includes adding new drivers, viewing driver profiles, tracking ride assignments, and monitoring performance metrics. This helps owners efficiently allocate drivers, oversee ongoing operations, and ensure smooth service delivery across all bookings.
9.2.4. Ride Orders
The Ride Orders section provides owners with a detailed view of all rides booked under their fleet. It displays booking details, rider information, assigned driver, trip status, fare breakdown, and payment method. This helps owners track active, completed, and cancelled rides, monitor fleet performance, and ensure timely service delivery..
9.2.5. Intercity Orders
The Intercity Orders section provides owners with a comprehensive view of all outstation trips under their fleet. It includes booking details, passenger information, selected service type (Freight, Parcel, Private Ride, or Shared Ride), assigned driver, trip status, fare breakdown, and payment method. This helps owners monitor ongoing, completed, and cancelled intercity rides, optimize long-distance operations, and ensure reliable service for passengers.
9.2.6. My Subscriptions
The My Subscriptions section allows owners to view and manage their active subscription plans on the platform. It displays details such as subscription type, start and expiry dates, features included, payment history, and renewal options. This helps owners keep track of their plan benefits, ensure uninterrupted access to platform services, and manage upgrades or renewals efficiently.
9.2.7. Change Subscription
The Change Subscription feature allows owners to upgrade, downgrade, or switch their current subscription plan. It provides details of available plans, pricing, features, and renewal options. This helps owners select the most suitable plan for their business needs, ensuring access to desired features and optimal platform usage.
9.2.8. My Wallet Transactions
The My Wallet Transactions section provides owners with a detailed record of all wallet activities. It includes credits, debits, payouts, refunds, and adjustments related to their account. This helps owners track financial activity, monitor earnings, reconcile transactions, and maintain transparency in platform-related finances.
9.2.9. Payouts
The Payouts section allows owners to view and manage withdrawal requests from their platform wallet. It displays details such as requested amount, request date, payment method, and status of the payout. This helps owners track earnings, ensure timely withdrawals, and maintain clear financial records for their business.
User Panel Setup#
10. User Panel Setup
10.1 Connect to FTP and Setup
Follow these instructions to connect to your server using FTP and complete the application setup:
10.1.1. Connect to the server using FTP: Use an FTP client like FileZilla to connect to your server. Enter the server’s IP address, username, and password. Use port 21 for FTP or port 22 for SFTP.
10.1.2. Transfer the ZIP file: Upload your landing panel’s ZIP file to the server’s local path (e.g., /var/www/html).
10.1.3. Unzip the file: Navigate to the file’s location on the server and run the following command to extract the ZIP file: “sudo unzip your-application.zip” or you can do it from cpanel directly.
10.1.4. Update the .env file with your configuration: Modify the database and application settings which are mentioned in the .env file. Below is an example configuration:
How to get Firebase VAPID Key?
Open the Firebase Console and select your Firebase project.
In the left sidebar, click the Settings icon next to Project Overview, then select Project settings.
Navigate to the Cloud Messaging tab.
Scroll down to the Web configuration section.
Under the Web Push certificates section, click Generate Key Pair.
Once the key pair is generated, copy the displayed Web Push public key (VAPID key). You will need this key for your web application’s push notification configuration.
Important Notes:
Please use the same Firebase credentials for the owner and landing panel setup that you will also add in the .env file for the admin panel setup.
11.2. Click the Get Started button in the middle of the screen.
11.3. Click on the Google Cloud Platform home in the upper left corner.
11.4. Click on Billing to make sure your billing details are up-to-date. If they are not, your Google Maps will not work properly.
11.5. Once you’ve confirmed your billing is up-to-date, click on the Google Cloud Platform home in the upper left corner again.
11.6. Hover to APIs & Services and go to Credentials.
11.7. If you want to use an existing project, please select it from the list. Otherwise, select ‘Create a new project’ and enter a project name.
11.8. Click Create credentials and select API key. You will see a new dialog that displays the newly created API key.
11.9. Click the Close button in the API key dialogue. Your new API key will be listed on the Credentials page under API keys
App Documentation#
1. Introduction
The online cab booking service providers care the price of travelling based on the distance of travel trip and type of car, traffic, and waiting prices. There are numerous apps available in the android play store and apple app store for cab booking in India. Selecting the greatest taxi booking apps in India is tough, which may vary from town to town.
Setting up Flutter#
2. Setup Setting up Flutter involves several steps. Here’s a basic guide to get you started:
2.1. System Requirements:
Ensure your system meets the minimum requirements for Flutter development. Flutter supports development on Windows, macOS, and Linux. Make sure your system has the necessary hardware and software requirements as specified by Flutter documentation.
Extract the downloaded file to a location on your system. For example, on macOS or Linux, you can extract it to /usr/local and on Windows to C:\.
Add the Flutter bin directory to your system PATH to run Flutter commands from the command line. This step is important for executing Flutter commands globally in your system.
2.3. Install Development Tools:
For Android: Install Android Studio and configure the Flutter plugin. Android Studio provides the Android SDK, which Flutter uses to develop for Android. Ensure you have the Android SDK and the necessary tools installed through Android Studio.
For iOS: You need a macOS system with Xcode installed to develop and deploy Flutter apps for iOS.
2.4. Set up Android Emulator or iOS Simulator:
For Android development, set up an Android Virtual Device (AVD) using Android Studio’s AVD Manager.
For iOS development, use the iOS Simulator provided by Xcode.
Run flutter doctor:
Open a terminal and run flutter doctor. This command checks your system for any dependencies needed for Flutter development.
It will provide feedback on any missing or outdated components and instructions on how to resolve them.
2.5. Install Flutter and Dart plugins for your preferred IDE:
If you’re using VS Code, install the Flutter and Dart plugins to enhance your development experience.
Android Studio also has built-in support for Flutter, but make sure to install the Flutter plugin if it’s not already installed.
2.6. Create your first Flutter project:
Use the flutter create command to create a new Flutter project.
Navigate to the project directory and explore the file structure. You’ll find the main Dart file (main.dart) in the lib directory, where you’ll write your Flutter code.
2.7. Run your Flutter app:
Connect a device or start an emulator/simulator.
Navigate to your Flutter project directory in the terminal and run flutter run.
This will compile your Flutter app and launch it on the connected device or emulator.
2.8. Start Developing:
Once your app is running, you can start developing your Flutter UI and logic. Flutter’s hot reload feature allows you to see your changes instantly without restarting the app.
2.9. Learn and Explore:
Flutter has an extensive set of widgets and libraries. Explore the official Flutter documentation and community resources to learn more about Flutter development.
Flutter Android Setup#
3. Flutter Android Setup
3.1 Changing the package name:
Navigate to the android directory within your Flutter project.
Open the AndroidManifest.xml file located in the app/src/main directory.
Find the package attribute in the tag and change its value to your desired package name.
3.2 Update Android source code references:
Open the MainActivity.java file located in android/app/src/main/java/com/your_old_package_name.
Replace occurrences of the old package name with the new package name.
3.3 Change the launcher icon :
3.3.1. Prepare Your New Icons:
First, prepare the new launcher icon images in the required sizes. Android and iOS have different size requirements. You typically need icons in various sizes to support different screen densities.
For Android, you need to replace the existing launcher icon files with your new ones. The launcher icons for Android are stored in the mipmap folders inside the android/app/src/main/res directory.
Replace the existing icon files (ic_launcher.png) in the mipmap folders with your new icon files. Make sure to maintain the same file names and sizes.
You may need to replace icons in various drawable folders for different screen densities (e.g., mipmap-hdpi, mipmap-mdpi, mipmap-xhdpi, mipmap-xxhdpi, mipmap-xxxhdpi).
3.4. Change the app name
3.4.1. For Open the android/app/src/main/AndroidManifest.xml file.
3.4.2. Locate the tag.
3.4.3. Change the value of the android:label attribute to your desired app name.
3.5. Change the Google Maps API key :
3.5.1. Navigate to your Flutter project’s android/app/src/main/AndroidManifest.xml file.
3.5.2. Inside the element, locate the tag with the name com.google.android.geo.API_KEY.
3.5.3. Replace the android:value attribute with your new Google Maps API key.
3.6.1. Open the pp/lib/service/api.dart file: Navigate to the specified file path in your Flutter project directory. Open the app/lib/service/api.dart file using a text editor or an IDE.
3.6.2. Explanation
3.6.2.1. -keystore: The path where the .jks file will be created (~/my-release-key.jks for Unix/macOS, C:\Users\YourName\my-release-key.jks for Windows).
3.6.2.2. -keyalg RSA: Algorithm used.
3.6.2.3. -keysize 2048: Key length.
3.6.2.4. -validity 10000: Validity in days (~27 years).
3.6.2.5 -alias my-key-alias: Name of the key within the keystore.
3.6.3. Enter Required Info
3.6.3.1.Keystore password
3.6.3.2.Key password
3.6.3.3.Your name, organization, city, state, and country code
3.6.4. Configure key.properties in Flutter Project
3.7.1.3.Replace path-to-your-keystore-file with the path to your keystore file (usually debug.keystore for debug builds and a custom keystore for release builds) and your-alias-name with the alias name used to generate the keystore.
3.7.1.4.Similarly, execute the following command to generate the SHA-256 key:
3.7.2.4. Replace path-to-debug.keystore, password, and key-alias with your keystore file path, password, and key alias respectively.
3.7.2.5. Sync your project to apply changes.
3.7.2.6. Run the following Gradle task in the terminal to get the SHA-1 and SHA-256 keys
./gradlew signingReport
3.7.3. Adding Keys to Firebase Console:
3.7.3.1. Go to the Firebase Console.
3.7.3.2. Select your project.
3.7.3.3. For Android:
Click on the Android icon to add an Android app.
Follow the setup instructions, including adding the google-services.json file to your Flutter project’s android/app directory.
During setup, you’ll be asked for your SHA-1 key. Paste the SHA-1 key you generated earlier.
After setup is complete, you’ll have the option to download the google-services.json file again. Replace the existing file in your project if needed.
3.7.3.4.For IOS:
Click on the iOS icon to add an iOS app. Follow the setup instructions, including downloading the GoogleService-Info.plist file.
There’s no need to add SHA-1 or SHA-256 keys for iOS. Add the downloaded GoogleService-Info.plist file to your Flutter project’s ios/Runner directory.
Flutter IOS setup#
4.Flutter IOS setup
4.1. Change the iOS bundle identifier:
Navigate to the ios directory within your Flutter project.
Open the Runner.xcodeproj project file using Xcode.
In Xcode, select the Runner project from the project navigator.
Go to the Runner target’s settings.
Under the General tab, find the Bundle Identifier field and change it to your desired bundle identifier.
4.2. To change the launcher icon
4.2.1. For iOS, you need to replace the existing icon files with your new ones. The icons for iOS are stored in the Assets.xcassets directory in the ios/Runner directory.
4.2.2. Open your Flutter project in Xcode by navigating to the ios directory and opening the .xcworkspace file with Xcode.
4.2.3. In Xcode, navigate to Runner > Assets.xcassets.
4.2.4. Replace the existing AppIcon with your new icon files. You’ll typically find different sizes labelled for various devices (e.g., iPhone, iPad).
4.3. Change Application Name in IOS.
4.3.1. Open the ios/Runner/Info.plist file.
4.3.2. Locate the CFBundleDisplayName entry.
4.3.3. Change the value associated with to your desired app name.
4.4. To change the Google Maps API key.
4.4.1. Open your Flutter project in a text editor or IDE.
4.4.2. Navigate to the ios/Runner directory within your Flutter project.
4.4.3. Locate the AppDelegate.swift file.
4.4.4. In the didFinishLaunchingWithOptions method, set the Google Maps API key.
Replace “YOUR_NEW_API_KEY_HERE” with your actual Google Maps API key.
After updating the API key in the AppDelegate.swift file, rebuild your Flutter app for iOS to apply the changes.
By following these steps, your Flutter app will use the new Google Maps API key specifically for iOS. Make sure you’ve also updated the API key in the Android configuration as described earlier if you want to apply changes to both platforms.
Flutter Firebase Setup#
5. Flutter Firebase Setup
5.1. Setting up Firebase for a Flutter project using the Firebase CLI involves several steps. Below is a detailed guide on how to do it:
5.1.1. Install Firebase CLI:
First, you need to install the Firebase CLI if you haven’t already. You can install it via npm (Node Package Manager) by running the following command in your terminal or command prompt:
5.1.2. Login to Firebase:
After installing the Firebase CLI, log in to your Firebase account by running the following command:
This will open a browser window prompting you to log in to your Google account associated with Firebase.
5.1.3. Create a Firebase Project:
If you haven’t already created a Firebase project, you can create one using the Firebase CLI by running:
Follow the prompts to create a new project.
5.1.4. Initialize Firebase in Your Flutter Project:
Navigate to your Flutter project directory in the terminal.
Initialize Firebase in your project by running:
This command will prompt you to select the Firebase features you want to set up. Choose the Firebase services you intend to use, such as Authentication, Firestore, etc.
5.1.5. Configure Firebase:
During the initialization process (firebase init), you’ll be asked to select the Firebase project you created or configured earlier. Choose the appropriate project from the list.
5.1.6. Install Required Dependencies:
After selecting the Firebase features, Firebase CLI will generate the necessary configuration files for your project.
Next, you need to install the required Firebase packages in your Flutter project. You can do this by adding the dependencies to your pubspec.yaml file:
Replacelatest_versionwith the actual version numbers of the Firebase plugins you want to use. You can find the latest versions on pub.dev.
5.1.7. Initialize Firebase in Your Flutter App:
5.1.8. Using Firebase Services:
Now you can use Firebase services in your Flutter app. Import the necessary Firebase packages and follow the respective documentation for each service you want to use (e.g., Firebase Authentication, Cloud Firestore).
5.1.9. Testing:
Run your Flutter app on a device or emulator to verify that Firebase services are correctly integrated and working.
5.2. Configuring and setting up FlutterFire in your Flutter project involves several steps. Here’s a detailed guide on how to do it:
Click on “Add Project” and follow the instructions to create a new project.
Once your project is created, you’ll be redirected to the project dashboard.
5.2.2. Add an App to Your Firebase Project:
In the Firebase console, select your project.
Click on the “Add app” button (usually represented by an Android or iOS icon).
Follow the setup instructions to register your app with Firebase.
Download the google-services.json file for Android or GoogleService-Info.plist file for iOS. These files contain your Firebase project configuration details.
5.2.3. Flutter Project Setup:
Open your Flutter project in your preferred editor.
Navigate to the android/app directory for Android or ios/Runner directory for iOS, and paste the google-services.json (for Android) or GoogleService-Info.plist (for iOS) file that you downloaded earlier.
5.2.4. Add Firebase SDK to Your Flutter Project:
Open your Flutter project’s pubspec.yaml file.
Add the following dependencies:
Replacelatest_versionwith the latest version numbers of the Firebase plugins you want to use. You can find the latest versions on pub.dev.
5.2.5. Using Firebase Services:
You can now use Firebase services in your Flutter app. Import the necessary Firebase packages and follow the respective documentation for each service you want to use (e.g., Firebase Authentication, Cloud Firestore).
5.2.6. Testing:
Run your Flutter app on a device or emulator to verify that Firebase services are correctly integrated and working.
Payment Methods#
6. Payment Methods Configuration
Path:
Administration Settings > Payment Methods
1. Stripe
Enable Stripe: Checkbox to activate the Stripe payment gateway.
Stripe Key: Field for entering the public API key provided by Stripe.
Stripe Secret: Field for entering the secret API key for secure server communication.
Steps to Configure:
Go to Administration Settings > Payment Methods > Stripe.
Check Enable Stripe.
Enter the Stripe Key and Stripe Secret.
Click Save.
2. COD (Cash on Delivery)
Enable COD: Checkbox to activate the COD payment method.
Steps to Configure:
Go to Administration Settings > Payment Methods > COD.
Check Enable COD.
Click Save.
4. Razorpay
Enable Razorpay: Checkbox to activate the Razorpay payment gateway.
Razorpay Key: Field for entering the Razorpay API key.
Razorpay Secret: Field for entering the Razorpay secret key.
Steps to Configure:
Go to Administration Settings > Payment Methods > Razorpay.
Check Enable Razorpay.
Enter the Razorpay Key and Razorpay Secret.
Click Save.
5. PayPal
Enable PayPal: Checkbox to activate the PayPal payment gateway.
Client ID: Enter the PayPal Client ID.
Client Secret: Enter the PayPal Secret Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > PayPal.
Check Enable PayPal.
Enter the Client ID and Client Secret.
Click Save.
6. Wallet
Enable Wallet: Checkbox to activate the internal wallet system.
No additional configurations required beyond enabling the wallet feature.
7. PayFast
Enable PayFast: Checkbox to activate the PayFast gateway.
Merchant ID: Enter the PayFast Merchant ID.
Merchant Key: Enter the PayFast Merchant Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > PayFast.
Check Enable PayFast.
Enter the Merchant ID and Merchant Key.
Click Save.
8. PayStack
Enable PayStack: Checkbox to activate the PayStack gateway.
PayStack Key: Enter the PayStack API Key.
PayStack Secret: Enter the PayStack Secret Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > PayStack.
Check Enable PayStack.
Enter the PayStack Key and PayStack Secret.
Click Save.
9. FlutterWave
Enable FlutterWave: Checkbox to activate the FlutterWave payment gateway.
Public Key: Enter the FlutterWave Public Key.
Secret Key: Enter the FlutterWave Secret Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > FlutterWave.
Check Enable FlutterWave.
Enter the Public Key and Secret Key.
Click Save.
10. MercadoPago
Enable MercadoPago: Checkbox to activate the MercadoPago payment gateway.
Public Key: Enter the MercadoPago Public Key.
Access Token: Enter the MercadoPago Access Token.
Steps to Configure:
Go to Administration Settings > Payment Methods > MercadoPago.
Check Enable MercadoPago.
Enter the Public Key and Access Token.
Click Save.
11. Xendit
Enable Xendit: Checkbox to activate the Xendit payment gateway.
API Key: Enter the Xendit API Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > Xendit.
Check Enable Xendit.
Enter the API Key.
Click Save.
12. OrangePay
Enable OrangePay: Checkbox to activate the OrangePay gateway.
API Key: Enter the OrangePay API Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > OrangePay.
Check Enable OrangePay.
Enter the API Key.
Click Save.
13. MidTrans
Enable MidTrans: Checkbox to activate the MidTrans payment gateway.
Merchant ID: Enter the MidTrans Merchant ID.
API Key: Enter the MidTrans API Key.
Steps to Configure:
Go to Administration Settings > Payment Methods > MidTrans.
Check Enable MidTrans.
Enter the Merchant ID and API Key.
Click Save.
FAQ#
7. Frequently Asked Questions
7.1. What should I do if I get the error message “Missing project_info object” in my Flutter project?
The error message you’re encountering, “Missing project_info object,” typically arises in Flutter projects when there’s a misconfiguration or missing information related to Firebase services. Here’s how you can troubleshoot and potentially resolve this issue
Solution :
1. Check google-services.json: If you’re using Firebase services in your Flutter app, ensure that you have the google-services.json file placed in the correct location within your Android project. This file contains important configuration information for Firebase services. It should be located in the android/app directory of your Flutter project.
2. Verify Firebase Setup: Double-check that you’ve completed all the necessary steps to set up Firebase for your Flutter project. This includes adding your app to the Firebase project using the Firebase Console, downloading and adding the google-services.json file to your Android project, and configuring Firebase services in your Flutter app’s code (if applicable).
3. Update Google Services Plugin: Ensure that you’re using the latest version of the Google Services Gradle plugin in your Android project. You can check the latest version on the Google Services Gradle Plugin page and update the version number in your android/build.gradle file accordingly.
4. Check Flutter and Firebase Versions Compatibility: Make sure that you’re using compatible versions of Flutter and Firebase. Sometimes, using outdated versions of either can lead to compatibility issues. Refer to the Firebase Flutter documentation and ensure compatibility with your Flutter version.
5. Sync Gradle Files: After making any changes to your Android project configuration, such as updating the google-services.json file or modifying the Gradle build files, make sure to sync your Gradle files in Android Studio. This can be done by clicking on the “Sync Project with Gradle Files” button.
6. Rebuild the Project: After ensuring all configurations are correct, try rebuilding your Flutter project. You can do this by running flutter clean followed by flutter pub get and then rebuilding the project (flutter run or flutter build).
7. Check for Error Logs: Look for more detailed error messages or stack traces in the console output or build logs. These can provide additional clues about the underlying issue causing the “Missing project_info object” error.
Version Updates#
Web Panel Update#
12. Web Panel Update
To update the Admin Panel, Owner Panel and User Panel upload the latest source code package to the root directory of each respective panel and extract the contents.
If your project includes custom modifications, we strongly recommend performing the update using Git. This approach helps preserve your customizations while safely integrating the latest changes from the new release.
12.1 Updating via Git (Recommended)
Commit and push your existing changes to a dedicated Git branch.
Download the latest source code package from CodeCanyon.
Create a new branch using the latest release source code.
Merge the latest branch into your existing project branch.
Resolve any merge conflicts resulting from custom modifications.
Thoroughly test the Admin Panel, Owner Panel and User Panel to ensure they function as expected before deploying the update to the production environment.
12.2 Replacing the Source Code
If you have not modified the source code, you can update the web panels by following these steps:
Download the latest source code package from CodeCanyon.
Replace the existing web panel files with the files from the latest release.
Verify that the Admin Panel, Owner Panel and User Panel are functioning correctly after the update.
Mobile Application#
13. Mobile Application Update
To update the Customer App, Driver App and Owner App replace the existing source code with the latest release and rebuild the applications.
If you have customized the application source code, we strongly recommend using Git to safely merge your custom changes with the latest release.
13.1 Updating via Git (Recommended)
Commit and push your existing application source code to a dedicated Git branch.
Download the latest source code package from CodeCanyon.
Create a new branch using the latest release source code.
Merge the latest branch into your existing project branch.
Resolve any merge conflicts resulting from custom modifications.
Run flutter pub get to install the latest dependencies.
Thoroughly test the Customer App, Driver App and Owner App to ensure all functionalities are working as expected.
Generate new build files (APK, AAB, or IPA) and deploy the updated applications.
13.2 Replacing the Source Code
If you have not modified the application source code, follow these steps:
Download the latest source code package from CodeCanyon.
Replace the existing application source code with the files from the latest release.
Run flutter pub get to install or update the required dependencies.
Verify the application configuration files and ensure all required credentials are correctly configured.
Test the Customer App, Driver App and Owner App thoroughly.
Generate new build files (APK, AAB, or IPA) and publish the updated applications to the respective app stores.
Changelog#
Version 5.7 — Jul 03, 2026
Wallet-to-Wallet Transfer feature implemented for seamless fund transfers between users.
Driver Badge System added to recognize and reward driver achievements.
New Payment Gateways integrated: MTN MoMo, PhonePe, Cashfree, Instamojo, Foloosi, and PayMongo.
Various Bug Fixes and Performance Improvements implemented.
Support for Flutter version 3.44.4 added.
Project Dependencies upgraded to the latest stable versions for improved performance, compatibility, and security.
Introduced a brand new User Panel with an improved user interface and experience.
Redesigned the Admin Panel and Owner Panel interfaces with a modern layout, improved navigation, and a better overall user experience.
Upgraded the Laravel framework to version 12 for improved performance, security, and long-term compatibility.
Version 5.6 — Feb 19, 2026
Maintenance Mode Screen added with dynamic configuration from Admin Panel.
Surge Pricing implemented based on demand.
Default Country Code Configuration – Admin can set a default country from the Admin Panel, and the selected country code is automatically applied in the application when users enter their phone number.
Bug Fixes and Performance Improvements implemented.
Flutter version supported 3.41.1.
Version 5.5 — Oct 04, 2025
Enhanced driver–passenger messaging system: added option for calls/voice messages and read/unread status for clarity.
Fixed issue on passenger rides page: now the counteroffer value is displayed along with “accept/cancel” options.
Displayed Service type according marker icon in Live tracking map screen.
Added option for drivers to manually hide the negotiation window to view the proposed route clearly.
Fixed bug where passenger information disappeared for a few seconds after pressing +10/-10 buttons.
Updated passenger rides section to show the driver’s counteroffer directly, not only through notifications.
Improved admin–passenger communication: inbox now auto-updates when a new admin message arrives, with read/unread status for admins.
Implemented Zone-wise Pricing for more flexible fare calculations.
Integrated the Owner Flow, adding new management capabilities.
Added Dynamic Color Settings for Customer, Driver, and Owner apps for better branding customization.
Show the service type based on the marker icon in the live tracking map screen.
Resolved Google Play’s 16 KB page size requirements in all apps.
Upgraded to Flutter 3.35.4.
Documentation updated.
Version 5.4 — Jul 31, 2025
Resolved the Stripe payment integration issue.
No updates or changes were made to the mobile apps.
Version 5.3 — Jul 22, 2025
Integrated the ‘Help and Support’ feature.
Implemented a flexible referral system with cross-referral capabilities (Users and Drivers cross referral).
Resolved few minor bugs and performance issues for a smoother experience.
Updated application to v3.32.7 with performance and compatibility improvements.
Version 5.2 — Apr 08, 2025
Added Holding Feature to enhance place management.
Implemented AC/Non-AC Pricing options for better pricing flexibility.
Admin can set upper cap for Drivers to set per KM rate according to their vehicle types.
Drivers can set their own per KM rate according to their vehicle type.
Introduced Night Charge Configuration for after-hours pricing.
Enabled Country-wise Search & Place Settings for improved location targeting.
Resolved various minor bugs and performance issues for a smoother experience.
Compatible to Flutter 3.29.2.
Fix minor issues.
Version 5.1 — Feb 24, 2025
Fixed minor issue.
Version 5.0 — Feb 17, 2025
Implemented subscription module.
Added schedule ride notification feature.
Upgraded all dependencies to the latest stable versions.
Migrated deprecated APIs and replaced outdated dependencies.
Updated compileSdkVersion and targetSdkVersion to the latest versions.
Upgraded Gradle and Kotlin versions for improved build performance.
Shifted from Android Support Libraries to AndroidX.
Updated Flutter SDK and resolved deprecated methods.
Applied minor fixes to enhance performance, resolve warnings, and improve UI.
Made significant UI and development improvements in the admin panel.
Ensured full compatibility with Flutter 3.27.3.
Version 4.5 — Oct 22, 2024
Handle multi-lingual support with data management.
Fixed minor bugs, and enhanced performance.
Support Flutter version 3.24.3.
Version 4.4 — Oct 16, 2024
Compatible the app with latest OSM SDK.
Fixed minor bugs, and enhanced performance.
Support Flutter version 3.24.3.
Version 4.3 — Sep 27, 2024
Made the Flutter app compatible with Flutter SDK 3.24.2.
Version 4.2 — Aug 30, 2024
Dependency upgrade.
Open Street Map Integrated (OSM Map).
Fix the pagination issue to prevent loading all data at once.
Minor improvements and Bug fixing.
Version 4.1 — Jun 10, 2024
Fixing minor bugs.
Performance improvement.
Version 4.0 — Jun 05, 2024
Fixing minor bugs.
Upgrading dependencies.
Ensuring compatibility with Firebase version 3.22.1.
Switching from Firebase Cloud Messaging API (Legacy) to Firebase Cloud Messaging API (V1).
Replacing place_picker to google_maps_place_picker_mb.
Version 3.0 — May 13, 2024
Implemented zone-wise booking feature.
Minor Bugs fixing.
Dependency upgrade.
Flutter version upgrade 3.19.6.
Version 2.2 — Mar 12, 2024
Dependency upgrade.
Migrate Deprecated imperative apply of Flutter’s Gradle plugins.
Supported latest flutter SDK 3.19.2.
Version 2.1 — Jan 11, 2024
User Role and Role management system in admin panel.
Fixing Database table issue.
Minor Bug Fixing.
Version 2.0 — Oct 27, 2023
Restriction on Incomplete Payments: Customers with outstanding payments from previous rides will not be able to book a new ride.
Vehicle-Specific Admin Commissions.
Ride Booking for Others.
Integrated Airport transfer.
Freight Feature Integration.
Upgrade to the Latest Flutter Version (3.13.8).
Update Firebase Dependencies.
Minor Bug Fixing.
Version 1.3 — Sep 20, 2023
Compatible to Latest Flutter version 3.13.4.
We’ve implemented a distance-based update setting in Firebase calls. This means that when a user moves a certain distance, it triggers a Firebase call request. This intelligent feature allows us to optimize the usage of API requests and enhance efficiency.
Multiple Live tracking maps with external app options ( Google Map, GoogleGo Map, Waze Map, MapswithMe Map, YandexNavi, Yandex Map) and In-app tracking which we already have into the app.
SOS function integrated.
Minor Bug Fixing.
Version 1.2 — Aug 25, 2023
Upgraded Flutter version to 3.13.0.
Incorporated a language switcher within the admin panel.
Version 1.1 — Aug 18, 2023
Upgraded Flutter to version 3.13.0.
Implemented notification navigation.
Added wallet top-up functionality for both drivers and customers in the Admin Panel.