eMart | Flutter App


1. Introduction

Welcome to eMart, the all-in-one solution for your everyday needs. Our platform seamlessly integrates multiple services into one convenient app, providing you with everything from delicious meals to reliable transportation, all with the click of a button. With eMart, convenience is just a tap away.

eMart is a comprehensive solution for multi-vendor delivery systems, created with Flutter, Firebase, and the Laravel Framework, known for its expressive and elegant syntax. This product includes three apps: Customer, Store, and Driver. This documentation provides guidance for setting up the eMart website and applications. It's recommended to use Laravel Homestead, a virtual machine that satisfies all system requirements, as your local development environment. Ensure your server meets the following requirements.

Key Features:

1.1 : Multi Vendor Items Delivery:

Craving your favorite dish? Explore a wide range of cuisines from local restaurants and food vendors. Order in with ease and have your meal delivered straight to your doorstep. With eMart's multivendor food delivery service, you're spoiled for choice.

1.2 : eCommerce Marketplace:

Experience non-stop shopping excitement with our extensive eCommerce marketplace. Browse through a diverse selection of products from various vendors, ranging from electronics and clothing to home goods and accessories. Find exactly what you need, all in one place.

1.3 : Parcel Delivery:

Need to send a package? No problem. Our parcel delivery service connects you with reliable couriers who can deliver your parcels safely and on time. Whether it's a small envelope or a large package, we've got you covered.

1.4 : Taxi Booking:

Getting around town has never been easier. Book a taxi with just a few taps and enjoy hassle-free transportation to your destination. Our network of drivers ensures prompt service and comfortable rides wherever you need to go.

1.5 : Car Rental:

Planning a road trip? Rent a car through eMart and hit the road with confidence. Choose from a variety of vehicles to suit your needs, whether it's a compact car for city driving or an SUV for a family adventure. Our seamless booking process makes renting a car a breeze.

1.6 : Admin Panel:

For vendors, our user-friendly admin panel provides all the tools you need to manage your products, orders, and deliveries efficiently. Monitor sales, update inventory, and communicate with customers—all from one centralized dashboard.

1.7 : Website Integration:

Our website complements our app, offering users another convenient way to access our services. Whether you prefer browsing on your desktop or mobile device, our website provides the same seamless experience as our app.

1.8 : Secure Payments:

Shop and pay with confidence thanks to our secure payment system. We support various payment methods, including credit/debit cards, mobile wallets, and cash on delivery, ensuring a smooth and secure transaction every time.

1.9 : Customer Support:

Have questions or need assistance? Our dedicated customer support team is here to help. Whether it's tracking an order, resolving an issue, or providing general assistance, we're just a message away.

1.10 : Promotions and Deals:

Take advantage of special promotions and deals offered by our vendors. From discounts on food orders to exclusive offers on car rentals, there's always a way to save with eMart.

Experience the Convenience of eMart Today:

Whether you're craving a meal, shopping for essentials, sending a package, booking a ride, or renting a car, eMart has you covered. Download the app or visit our website to discover the ultimate convenience of eMart. Welcome to a world where everything you need is just a tap away. Welcome to eMart.

2. Setup Setting up Flutter involves several steps.

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.

2.2. Install Flutter SDK:

Download the Flutter SDK from the official Flutter website.

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.

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.

File Location: "project/android/app/src/main/AndroidManifest.xml"

Find the package attribute in the manifest 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 application 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 application element, locate the meta-data 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.

meta-data android:name="com.google.android.geo.API_KEY"
android: value="YOUR_API_KEY_HERE"/>

3.6. Create .jks for application live.

3.6.1. Open Terminal / Command Prompt

keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

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.6.4.1. Create a file: android/key.properties

storePassword=your-store-password
keyPassword=your-key-password
keyAlias=my-key-alias
storeFile=/Users/yourusername/my-release-key.jks

3.7. To generate SHA-1 and SHA-256 keys :

(This important for Phone Auth, Google Sign-In )

3.7.1. Using Keytool:

3.7.1.1. Navigate to your JDK's bin directory in the command line.

3.7.1.2. Execute the following command to generate the SHA-1 key:

keytool -list -v -keystore path-to-your-keystore-file -alias your-alias-name

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:

keytool -list -v -keystore path-to-your-keystore-file -alias your-alias-name -storetype PKCS12 -keyalg RSA

3.7.2. Using Gradle (Android Studio):

3.7.2.1. Open your Flutter project in Android Studio.

3.7.2.2. In the Android view, navigate to app -> Gradle Scripts -> build.gradle (Module: app).

3.7.2.3. Add the following lines to the android block

android {
									signingConfigs {
										debug {
											storeFile file('path-to-debug.keystore')
											storePassword 'password'
											keyAlias 'key-alias'
											keyPassword 'password'
										}
									}
								}
								

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.

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 string to your desired app name.

CFBundleDisplayName My New App

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.

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:

npm install -g firebase-tools

5.1.2. Login to Firebase:

After installing the Firebase CLI, log in to your Firebase account by running the following command:

firebase login

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:

firebase projects:create

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:

firebase init

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:

dependencies:
					firebase_core: latest_version
					firebase_auth: latest_version  # (if you need Firebase Authentication)
					cloud_firestore: latest_version  # (if you need Cloud Firestore)
					# Add other Firebase plugins as needed
				

Replace latest_version with 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:

5.2.1. Create a Firebase Project:

Go to the Firebase Console: https://console.firebase.google.com

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:

Replace latest_version with 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.

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:

1. Go to Administration Settings > Payment Methods > Stripe.

2. Check Enable Stripe.

3. Enter the Stripe Key and Stripe Secret.

4. Click Save.


2. COD (Cash on Delivery)

  • Enable COD: Checkbox to activate the COD payment method.

Steps to Configure:

1. Go to Administration Settings > Payment Methods > COD.

2. Check Enable COD.

3. 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:

1. Go to Administration Settings > Payment Methods > Razorpay.

2. Check Enable Razorpay.

3. Enter the Razorpay Key and Razorpay Secret.

4. 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:

1. Go to Administration Settings > Payment Methods > PayPal.

2. Check Enable PayPal.

3. Enter the Client ID and Client Secret.

4. 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:

1. Go to Administration Settings > Payment Methods > PayFast.

2. Check Enable PayFast.

3. Enter the Merchant ID and Merchant Key.

4. 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:

1. Go to Administration Settings > Payment Methods > PayStack.

2. Check Enable PayStack.

3. Enter the PayStack Key and PayStack Secret.

4. 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:

1. Go to Administration Settings > Payment Methods > FlutterWave.

2. Check Enable FlutterWave.

3. Enter the Public Key and Secret Key.

4. 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:

1. Go to Administration Settings > Payment Methods > MercadoPago.

2. Check Enable MercadoPago.

3. Enter the Public Key and Access Token.

4. Click Save.


11. Xendit

  • Enable Xendit: Checkbox to activate the Xendit payment gateway.
  • API Key: Enter the Xendit API Key.

Steps to Configure:

1. Go to Administration Settings > Payment Methods > Xendit.

2. Check Enable Xendit.

3. Enter the API Key.

4. Click Save.


12. OrangePay

  • Enable OrangePay: Checkbox to activate the OrangePay payment gateway.
  • API Key: Enter the OrangePay API Key.

Steps to Configure:

1. Go to Administration Settings > Payment Methods > OrangePay.

2. Check Enable OrangePay.

3. Enter the API Key.

4. 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:

1. Go to Administration Settings > Payment Methods > MidTrans.

2. Check Enable MidTrans.

3. Enter the Merchant ID and API Key.

4. Click Save.


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 :

7.1.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.

7.1.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).

7.1.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.

7.1.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.

7.1.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.

7.1.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.1.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.

1. Introduction

Welcome to eMart, the all-in-one solution for your everyday needs. Our platform seamlessly integrates multiple services into one convenient app, providing you with everything from delicious meals to reliable transportation, all with the click of a button. With eMart, convenience is just a tap away.

eMart is a comprehensive solution for multi-vendor delivery systems, created with Flutter, Firebase, and the Laravel Framework, known for its expressive and elegant syntax. This product includes three apps: Customer, Store, and Driver. This documentation provides guidance for setting up the eMart website and applications. It's recommended to use Laravel Homestead, a virtual machine that satisfies all system requirements, as your local development environment. Ensure your server meets the following requirements.

Key Features:

1. Multi Vendor Items Delivery: Craving your favorite dish? Explore a wide range of cuisines from local restaurants and food vendors. Order in with ease and have your meal delivered straight to your doorstep. With eMart's multivendor food delivery service, you're spoiled for choice.

2. eCommerce Marketplace: Experience non-stop shopping excitement with our extensive eCommerce marketplace. Browse through a diverse selection of products from various vendors, ranging from electronics and clothing to home goods and accessories. Find exactly what you need, all in one place.

3. Parcel Delivery: Need to send a package? No problem. Our parcel delivery service connects you with reliable couriers who can deliver your parcels safely and on time. Whether it's a small envelope or a large package, we've got you covered.

4. Taxi Booking: Getting around town has never been easier. Book a taxi with just a few taps and enjoy hassle-free transportation to your destination. Our network of drivers ensures prompt service and comfortable rides wherever you need to go.

5. Car Rental: Planning a road trip? Rent a car through eMart and hit the road with confidence. Choose from a variety of vehicles to suit your needs, whether it's a compact car for city driving or an SUV for a family adventure. Our seamless booking process makes renting a car a breeze.

6. Admin Panel: For vendors, our user-friendly admin panel provides all the tools you need to manage your products, orders, and deliveries efficiently. Monitor sales, update inventory, and communicate with customers—all from one centralized dashboard.

7. Website Integration: Our website complements our app, offering users another convenient way to access our services. Whether you prefer browsing on your desktop or mobile device, our website provides the same seamless experience as our app.

8. Secure Payments: Shop and pay with confidence thanks to our secure payment system. We support various payment methods, including credit/debit cards, mobile wallets, and cash on delivery, ensuring a smooth and secure transaction every time.

9. Customer Support: Have questions or need assistance? Our dedicated customer support team is here to help. Whether it's tracking an order, resolving an issue, or providing general assistance, we're just a message away.

10. Promotions and Deals: Take advantage of special promotions and deals offered by our vendors. From discounts on food orders to exclusive offers on car rentals, there's always a way to save with eMart.

Experience the Convenience of eMart Today:

Whether you're craving a meal, shopping for essentials, sending a package, booking a ride, or renting a car, eMart has you covered. Download the app or visit our website to discover the ultimate convenience of eMart. Welcome to a world where everything you need is just a tap away. Welcome to eMart.

To run eMart 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
  • Google Firebase Account with Upgraded (Blaze) Plan

3. Setup Firebase Project

3.1 : Go to firebase console through this link: https://firebase.google.com

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.

Step 10: Upgrade your firebase plan.

See Video:

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.

For example: Run a script every minutes:

For example: Run a script every day at midnight:

4.2.4: Save the Cron Job

Please Note: 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.

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 → this downloads a JSON file (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 eMart 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@emart.com

Password: 12345678

5.1. Dashboard

The Dashboard provides a summarized view of the platform’s key metrics and activities. It helps the admin monitor business performance in real time.

5.2. Access Management

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.3 Driver Management

Used to manage all drivers who handle deliveries or rides on the platform, including individual drivers and fleet drivers associated with registered fleet owners. From this section, the admin can add new drivers, review and approve registrations, verify driver and vehicle documents, track their real-time location and activity, manage payouts, and monitor performance metrics such as completed trips, ratings, and earnings. It ensures that only verified, active, and reliable drivers and fleets operate efficiently within the system.

5.4. Vendor Management

Used to manage all vendors or businesses registered on the platform. From this section, the admin can add new vendors, verify their details, approve or reject registrations, update business information, set commission rates, and monitor their sales, orders, and overall performance. It helps ensure that only verified and active vendors operate on the platform while maintaining quality and compliance.

5.5. Store Management

Used to manage all stores or branches associated with vendors on the platform. From here, the admin can create new stores, edit existing details, update business hours, manage delivery areas, and monitor performance metrics such as orders, earnings, and ratings. It ensures each store operates correctly within its assigned vendor account and follows platform policies.

5.6. Customer Management

Used to manage all customer accounts registered on the platform. From this section, the admin can view customer profiles, contact details, order history, wallet balance, and activity status. It allows the admin to verify users, handle support issues, manage account status (active or blocked), and monitor user engagement across different services. This helps maintain a secure and well-managed customer base.

5.7. Zone Management

Used to define and manage geographic zones or service areas where the platform operates. From this section, the admin can create, edit, or remove zones by setting map boundaries or pin locations. It helps assign vendors, drivers, and delivery coverage based on specific regions, ensuring efficient order allocation and accurate service availability for users within defined areas.

5.8. Section / Service Management

Used to manage different service sections or business types available on the platform, such as restaurants, groceries, pharmacies, or salons. From this section, the admin can create and configure sections, assign them to specific service types (e.g., Multivendor Delivery, On-Demand, etc.), and customize related settings like categories, menus, and delivery options. It helps control which services are active on the platform and how their data and menus appear in the admin and user apps.

5.9. Settings

Used to configure and control all core features and operational settings of the platform. This section allows the admin to define system-wide preferences such as business logic, currency, taxes, payments, delivery configurations, and application content. It ensures the platform runs smoothly and aligns with business requirements, branding, and policies.

Global

Used to set general platform configurations such as app name, logo, contact information, and default preferences applied across all services.

Currency

Used to manage supported currencies on the platform. The admin can add or update currency codes, symbols, and conversion rates for multi-country operations.

Business Model

Used to define the platform’s operational model—such as commission-based, subscription-based, or hybrid—determining how revenue is generated from vendors and drivers.

Tax

Used to set up and manage tax rules applied to products, services, or orders. The admin can define tax rates, types (inclusive or exclusive), and applicable regions.

Payment Method

Used to configure available payment gateways and methods (like Stripe, PayPal, Razorpay, COD). The admin can enable or disable specific gateways and manage related credentials.

Radius Configuration

Used to define service and delivery radius limits for vendors and drivers. This ensures that orders or rides are assigned within specific distance boundaries for efficient service.

App Banners

Used to manage promotional banners displayed in the app or website. The admin can upload banner images, set redirection links, and control their display order or duration.

Schedule Order Notification

Used to configure automatic notifications for scheduled orders or deliveries. The admin can set time intervals and message templates for reminders and updates.

Delivery Charges

Used to set up and manage delivery fee rules. The admin can configure base charges, per-kilometer or per-mile rates, and free delivery thresholds.

Document Verification

Used to manage required documents for user verification, such as IDs for drivers, vendors, or owners. The admin can define mandatory fields, document types, and approval processes.

Languages

Used to manage language options for multi-lingual support. The admin can add or update languages and upload translation files for the user and admin interfaces.

Special Offer

Used to create and manage platform-wide promotional offers or limited-time discounts to attract users and boost sales.

Terms & Conditions

Used to update and maintain the platform’s official terms of service, ensuring users understand the rules and responsibilities when using the application.

Privacy Policy

Used to define and manage the platform’s privacy and data protection policies, explaining how user data is collected, used, and secured.

Landing Page Template

Used to design and manage the structure and content of the website’s landing page. The admin can configure banners, sections, and promotional content to enhance presentation.

Footer Template

Used to customize the footer section of the website or app. The admin can add quick links, contact details, social media handles, and copyright information for branding consistency.

5.10. Content Management

Used to manage all visual and informational content displayed in the app and website. This section helps the admin control banners, static pages, onboarding screens, and email templates to ensure consistent branding, user engagement, and communication throughout the platform.

Banner Items

Used to create and manage promotional or featured banners displayed in various sections of the app or website. The admin can upload images, set redirect links, define display order, and schedule banners for specific time periods or service types.

CMS Pages

Used to manage static content pages such as About Us, Help Center, or Refund Policy. The admin can create, edit, and publish pages without modifying the code, ensuring quick updates to informational content.

Onboarding Screens

Used to manage the introductory screens displayed when users first open the app. The admin can set up multiple slides with titles, descriptions, and images to guide new users through the platform’s key features and benefits.

Email Templates

Used to create and customize automated email templates for system notifications, such as registration, order confirmation, password reset, or promotional campaigns. The admin can edit content, design, and placeholders to match the brand’s tone and style.

5.11. Category & Items Management

Used to manage all product or service categories and the items listed under them. From this section, the admin can create, edit, or delete categories, assign subcategories, and manage items with details like name, price, description, and images. It helps organize the platform’s catalog so users can easily browse and purchase or book products and services under the correct categories.

5.12. Brand Management

Used to manage all brands available on the platform. From this section, the admin can add new brands, update existing brand details such as name, logo, and description, and associate brands with relevant products or categories. It helps maintain a structured catalog and allows users to filter or search items by specific brands for a better shopping experience.

5.13. Report and Analytics

Used to track and analyze the overall performance of the platform. From this section, the admin can view detailed reports on sales, orders, earnings, user activity, vendor performance, driver performance, and other key metrics. It provides graphical insights and data summaries that help the admin make informed business decisions, identify trends, and improve operational efficiency.

5.14. Business Setup

Used to manage the platform’s subscription system for vendors or service providers. From this section, the admin can create and configure various subscription plans by defining their duration, price, and included features. It also allows tracking of all subscription activities, including active, expired, or cancelled plans, payment history, and renewals. This helps ensure smooth monetization management and clear visibility of each vendor’s subscription status.

5.15. Order & Promotions Management

Used to manage all customer orders and promotional activities across the platform. From this section, the admin can track, update, and manage orders along with handling promotional tools like gift cards, coupons, and advertisements. It also includes document verification features for user approvals, ensuring compliance and authenticity.

Orders

Used to view and manage all orders placed on the platform. The admin can check order details, update statuses (pending, confirmed, delivered, cancelled), and monitor payment and delivery progress across different service types.

Giftcard

Used to create and manage digital gift cards that customers can purchase or redeem. The admin can define card values, usage limits, and validity periods to boost customer engagement and sales.

Coupons

Used to manage discount coupons available on the platform. The admin can create, edit, or disable coupons, set discount types (percentage or fixed), and apply usage conditions like minimum order value or category restrictions.

Ad List

Used to manage all active and past advertisements displayed on the platform. The admin can view, edit, or remove ads and monitor their performance or expiration status.

Ad Request

Used to handle advertisement requests submitted by vendors or businesses. The admin can review, approve, or reject these ad requests based on compliance, duration, and payment.

Documents

Used to manage and verify required documents submitted by owners, drivers, and vendors. The admin reviews and approves identity, business, or vehicle documents to ensure all users meet platform verification and safety standards.

5.16. Notification Management

Used to manage all types of notifications sent through the platform. From this section, the admin can create, schedule, and send push notifications or in-app alerts to users, vendors, or drivers. It allows customizing notification titles, messages, and target audiences based on service type or user group. This helps in sharing important updates, promotions, or alerts to keep users informed and engaged.

5.17. Disbursement Management

Used to manage all payout and commission settlements across the platform. From this section, the admin can track and release payments to vendors, store owners, and drivers based on completed orders or services. It ensures transparent and accurate financial transactions between the platform and its partners.

Store Disbursement

Used to view and process payouts related to individual stores. The admin can review earnings, commissions, and pending payments, and manually or automatically release funds to store accounts.

Driver Disbursement

Used to manage payments to drivers for completed deliveries or rides. The admin can verify trip earnings, adjust commissions, and process driver payouts efficiently.

Provider Disbursement

Used to handle payouts for service providers. The admin can track total earnings, deduct applicable fees or commissions, and disburse the remaining balance to ensure timely and accurate settlements.

5.18. Live Tracking

Used to monitor active delivery orders in real time. The admin can view the live locations of drivers, check delivery progress, and track the status of orders from pickup to drop-off. This feature ensures timely deliveries, improves customer satisfaction, and allows quick intervention in case of delays or issues.

5.19. Cab Service Management

Used to manage all operations related to the cab or ride-hailing service within the platform. This section allows the admin to monitor rides in real time, manage vehicles and drivers, handle user safety alerts, and configure promotions and vehicle details for smooth and secure transportation services.

Rides

Used to manage all cab ride records on the platform. The admin can view ride details, update statuses, check payments, assign drivers, and resolve ride-related issues.

SOS Rides

Used to handle emergency alerts triggered by users or drivers during a ride. The admin can view SOS details, contact relevant users or authorities, and ensure safety actions are taken promptly.

Promo

Used to create and manage promotional offers or discounts specific to cab rides. The admin can define promo codes, set validity periods, and monitor their usage to boost bookings.

Complaints

Used to review and resolve complaints raised by customers or drivers related to cab rides. The admin can track issue types, communicate with involved parties, and take necessary action to maintain service quality.

Vehicle Type

Used to define and manage various vehicle categories such as Sedan, SUV, Mini, or Luxury. Each type can have its own pricing structure and capacity.

Make

Used to manage the list of vehicle manufacturers (e.g., Toyota, Honda, Tesla) available for cab registration. It helps standardize vehicle data across the system.

Model

Used to manage specific vehicle models under each make (e.g., Toyota Corolla, Honda City). This ensures accurate identification and classification of vehicles in the fleet.

5.20. On-Demand Service Management

Used to manage all operations related to on-demand services such as home cleaning, beauty, repair, or other professional services. This section helps the admin oversee service providers, service listings, workers, and bookings to ensure efficient service delivery and customer satisfaction.

Providers

Used to manage all service providers registered on the platform. The admin can view provider profiles, verify documents, approve or reject applications, and monitor their performance and earnings.

Categories

Used to organize and manage various service categories (e.g., Cleaning, Plumbing, Beauty). The admin can create, edit, or delete categories to structure the service catalog effectively.

Coupons

Used to create and manage discount coupons specific to on-demand services. The admin can define coupon codes, discount amounts, usage limits, and validity periods to attract and retain customers.

Services

Used to manage individual service listings under each category. The admin can add or edit service details such as name, description, pricing, duration, and availability.

Workers

Used to manage workers associated with service providers. The admin can view worker details, assign them to providers, verify their documents, and track their service performance and availability.

Bookings

Used to view and manage all service bookings made by customers. The admin can track booking statuses, assign providers or workers, update schedules, and handle cancellations or customer issues.

5.21. Parcel Service Management

Used to manage all operations related to parcel pickup and delivery services. This section allows the admin to monitor active parcel deliveries, manage parcel types and weights, handle discount coupons, and track order statuses to ensure smooth and timely deliveries.

Parcel Category

Used to create and manage parcel categories based on the type or size of items (e.g., Documents, Electronics, Fragile Items). This helps in applying appropriate delivery charges and handling requirements.

Parcel Weight

Used to define and manage different weight ranges for parcels. The admin can set pricing rules and delivery fees based on parcel weight to maintain accurate billing.

Parcel Coupons

Used to create and manage discount coupons specific to parcel delivery services. The admin can set coupon details such as code, discount amount, usage limit, and validity period.

Parcel Orders

Used to view and manage all parcel delivery orders. The admin can monitor order details, pickup and drop-off locations, driver assignments, payment status, and delivery progress.

5.22. Rental Service Management

Used to manage all activities related to the vehicle rental services on the platform. This section helps the admin oversee vehicle listings, rental orders, discounts, and packages to ensure a smooth and efficient rental experience for users and vendors.

Rental Vehicle Type

Used to define and manage various types of vehicles available for rent (e.g., Cars, Bikes, Scooters, Vans). Each type can have its own pricing, features, and capacity settings.

Rental Discount

Used to create and manage promotional discounts or special offers specific to rental services. The admin can define discount codes, percentage or fixed value discounts, and their validity period to attract more users.

Rental Orders

Used to view and manage all rental bookings made by customers. The admin can check booking details, vehicle availability, payment status, and track rental durations or extensions.

Rental Vehicle

Used to manage all vehicles listed for rent on the platform. The admin can add or update vehicle details such as model, registration number, condition, pricing, and availability status.

Rental Packages

Used to create and manage predefined rental plans or packages (e.g., hourly, daily, weekly). The admin can set rates, duration, mileage limits, and terms for each package to offer flexible rental options to customers.

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:

npx -p node-firestore-import-export firestore-import -a credentials.json -b collections.json

To export all collections, execute the following command:

npx -p node-firestore-import-export firestore-export -a credentials.json -b collections.json

Once the export command is executed, the collections.json file will be downloaded.

Please Note: Prior to executing the above command, ensure that you have correctly updated your Firebase credentials in the credentials.json file.

See Video:

7.1 Order Tracking & Delivery Dispatching

1. The customer initiates a new order

2. The store approves/rejects the new order

3. If the store accepts the order, it is assigned to a nearby available driver.

4. The driver can choose to either accept or decline the order. If the driver accepts the order, they are assigned to pick up and deliver the items.

5. The driver arrives at the store to collect the order. Once picked up, the driver updates the order status in the app for the customer. After delivery, the driver can mark the order as completed in the driver app.

6. If the driver rejects the order, the dispatch process restarts to find another available driver nearby.

7. Customers can track the delivery status of all their orders on their delivery app. The app utilizes Flutter code to handle most order updates. However, the backend system, which manages access to all available nearby drivers and stores, facilitates the delivery process.

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.2. 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.3. 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.4. Implementing Cloud Functions

Since we're providing the complete source code for your Firebase Cloud Functions:

Extract the zip file Firebase Cloud Functions.zip.

Fill in the necessary credentials in the following files located within the zip:

1. .firebaserc (Add your Firestore Project ID)

2. index.js (Add your Firestore database URL)

3. serviceAccountKey.json (Add your Firebase service account credentials)

With these steps, you've successfully set up the required credentials.

7.5. Deploy Firebase Functions

Simply run the following command in the Firebase Cloud Functions > 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.

To perform Firebase indexing, follow these straightforward steps:

8.1 : To set up NPM on your computer, download Node.js from the following link:https://nodejs.org/en/download/

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:

Please Note: 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:

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 web 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:

Now you can access your owner panel at your desired domain For ex: https://owner.yourdomain.com/

Please follow the same instructions provided above for the web panel setup to connect to your server via FTP and complete the application setup.

And after that you can access your store panel at your desired domain For ex: https://store.yourdomain.com/

9. Store Panel Menus Overview

9.1. Dashboard

The Dashboard provides a summarized view of the platform’s key metrics and activities. It helps the vendor monitor business performance in real time

9.2. My Store

Used to manage the store’s profile and settings. The vendor can update business details such as name, address, contact info, operating hours, delivery settings, and logo or banner images. It helps keep the store’s information accurate and up to date on the platform.

9.3. Change Subscription

Used to view available subscription plans and upgrade the current plan. The vendor can select a new plan based on features, duration, or pricing to continue offering services on the platform.

9.4. My Subscriptions

Used to view all current and past subscription details. The vendor can track plan validity, renewal dates, payment history, and active benefits associated with each subscription.

9.5. Items

Used to manage all products or menu items offered by the store. The vendor can add new items, update prices, descriptions, images, or stock status, and organize items under appropriate categories.

9.6. Orders

Used to view and manage all customer orders received by the store. The vendor can track order status (pending, confirmed, preparing, delivered, or cancelled), update progress, and view order details like items, customer info, and payments.

9.7. Coupons

Used to create and manage discount coupons specific to the store. The vendor can define coupon codes, set discount values, usage limits, and validity periods to attract more customers and boost sales.

9.8. Payouts

Used to view the store’s earnings and payment disbursements from the platform. The vendor can check completed and pending payouts, commission details, and overall financial summaries.

9.9. Special Offer

Used to create and manage limited-time offers or discounts on selected items. The vendor can set offer periods, discount percentages, and eligible products to increase visibility and sales.

9.10. Wallet Transaction

Used to track all wallet-related transactions within the store account. The vendor can view credits, debits, refunds, and order-related adjustments for complete financial transparency.

9.11. Withdrawal Methods

Used to manage payment methods for receiving payouts. The vendor can add or edit bank details, digital payment accounts, or other withdrawal options for smooth and secure fund transfers.

Please follow the same instructions provided above for the web panel setup to connect to your server via FTP and complete the application setup.

And after that you can access your provider panel at your desired domain For ex: https://provider.yourdomain.com/

10. Provider Panel Menus Overview

10.1. Dashboard

The Dashboard provides a summarized view of the platform’s key metrics and activities. It helps the provider monitor business performance in real time.

10.2. Change Subscription

Used to view available subscription plans and upgrade the current plan. The provider can select a new plan based on features, duration, or pricing to continue offering services on the platform.

10.3. My Subscriptions

Used to view all current and past subscription details. The provider can track plan validity, renewal dates, payment history, and active benefits associated with each subscription.

10.4. Services

Used to manage all on-demand services offered by the provider. From this section, providers can add, edit, or remove services, set pricing, availability, and service details, upload media, and monitor performance through ratings and bookings.

10.5. Workers

Used to manage the provider’s team members who deliver on-demand services. Providers can add new workers, assign them to specific services, track their availability, view performance metrics, and manage their status (active/inactive).

10.6. Bookings

Used to manage all service bookings received by the provider. From this section, providers can view booking details, update statuses (accepted, in-progress, completed, or canceled), track assigned workers, and communicate with customers in real time.

10.7. Coupons

Used to create and manage discount coupons for customers. Providers can set coupon codes, discount types, usage limits, and validity periods to attract more bookings and retain customers.

10.8. Payouts

Used to view and manage earnings received from completed service bookings. Providers can track payout history, payment status, and details of each transaction processed by the admin.

10.9. Wallet Transaction

Used to track all wallet-related activities, including credits, debits, bonuses, and payments for services. Providers can view their wallet balance and detailed transaction history.

10.10. Withdrawal Methods

Used to manage the payment methods available for withdrawing earnings. Providers can add, edit, or remove withdrawal options such as bank transfer, PayPal, or other supported methods.