eShop Plus

Documentation

By : WRTeam
Email : wrteam.payal@gmail.com

Thank you for purchasing eShop Plus. We appreciate your support. In this documentation, you will find instructions on how to set up the mobile application for eShop Plus. This document also provides features of eShop Plus. If you have any questions, feel free to reach out. Thank you for choosing eShop Plus!


To find your Purchase code you can visit this link: Where is My Purchase code?


Setup flutter


Setup flutter in your system

    Visit flutter official website : https://docs.flutter.dev/get-started/install for full install guide.

    Note : Flutter version 3.24.5 has been used in this app code


    If you prefer video tutorials, we recommend this playlist for the full installation process
    https://www.youtube.com/playlist?list=PLSzsOkUDsvdtl3Pw48-R8lcK2oYkk40cm
  1. After installation run "flutter doctor -v" to check if everything is correctly setup.


  2. eShop Plus

  3. Android Toolchain, Android Studio, and XCode for Mac users should be correctly configured.
  4. If you are using Android Studio, install the flutter & dart plugin from Android Studio plugin market place. and if you are using VS Code you can install flutter extension.

Set JAVA Path

  • To avoid gradle and JAVA incompatibility issues, you can use JAVA 19.0.2 version in your system
  • Download JAVA 19.0.2 and set path in the system
  • If you found that there is conflict between multiple JAVA versions, you can manually mention this java version in flutter code by below code
  • Open

    android/gradle.properties

    and add below line
  • org.gradle.java.home=/Users/payalmam/Library/Java/JavaVirtualMachines/corretto-19.0.2/Contents/Home

    This should be path to your JAVA 19.0.2 folder. If org.gradle.java.home properties is already there in file then just change the path.
  • For MAC path will be like this
  • org.gradle.java.home=/Library/Java/JavaVirtualMachines/corretto-19.0.2/Contents/Home

  • For Windows path will be like this
  • org.gradle.java.home=C:\\Program Files\\Java\\jdk-19.0.2

    Note: If you are using windows then you have to use 2 slashes in java path in flutter app.


    Change package name


    1. Unzip the downloaded code. After unzipping you will have 3 app folders- customer,seller and deliveryboy.
      select one app folder and open it in Android Studio or Visual Studio Code.
    2. Open ide terminal go to your project path and execute command

      flutter pub get

    3. If you are running this app for ios then run these following commands in terminal.

      cd ios

      pod install

      cd ..

    4. Change package name of android app
      Execute this command in your terminal

      flutter pub run change_app_package_name:main your_new_package_name


      eShop Plus

    5. Change package name of ios app
      Open ios folder of this project in xcode. Go Select Runner->Targets->General->Identity and enter new package name in Build Identifier.

      eShop Plus
    6. Go to

      lib/utils/constants.dart

      and update package.

      eShop Plus

    Change app version


    For Android


    1. go to pubspec.yaml
    2. EX.Update version:A.B.C+X in pubspec.yaml.
    3. For Android: A.B.C represents the versionName such as 1.0.0. X (the number after the +) represents the versionCode such as 1, 2, 3, etc.
    4. Do not forget to execute flutter packages get, flutter build or flutter run after this step
    eShop Plus

    For iOS

    1. A.B.C represents the CFBundleShortVersionString such as 1.0.0. X (the number after the +) represents the CFBundleVersion such as 1, 2, 3, etc.
    2. Do not forget to execute any one of the below command after this step

      flutter packages get

      flutter build

      flutter run

    Change app name


    For Android, go to

    android/app/src/main/AndroidManifest.xml

    and change the app name as shown in image. Change the value of android:label in the application tag to your app name.


    eShop Plus

    For IOS open this project in xcode and enter your app name in display name field as shown in image.


    eShop Plus

    Change app theme


    You can set different theme for different store. Go to store detail in admin panel and change the below color values


    eShop Plus

    Change Animation Color


    1. If you want to change the animation color then follow the below steps
    2. Open website https://lottiefiles.com in browser and login or signup.
    3. Upload 'order_confirmed.json' file from assets->images folder of app code

    4. eShop Plus

    5. After uploading the file, you can change the color of animation from color pallete.
    6. After changing the color, you can download the json file and replace the file in assets->images folder of app code.
    7. After replacing the file, you can see the animation color changed. You can repeat the steps for all lotties images of the app of which you want to change the color.

    8. eShop Plus

    Change font in app


    1. Go to

      lib/app/app.dart

      and add your font as shown in image.



      eShop Plus

    2. Go to google_fonts/ and add .tff files of fonts.



      eShop Plus

    Integrate with firebase


    1. Create firebase project in your account


      eShop Plus

      eShop Plus

      eShop Plus

      eShop Plus

      eShop Plus

    2. To setup the firebase in your flutter app, please follow the steps given in the following link. https://firebase.google.com/docs/flutter/setup

    3. To setup notificaiton settings in ios, please follow the steps given in the following link. https://firebase.flutter.dev/docs/messaging/apple-integration

    4. Note: If you haven't created firebase apps with Firebase CLI then don't forget to change values in

      lib/firebase_options.dart

    5. Add SHA keys in firebase console

    6. Now, we have to add sha1 and sha256 key in firebase, for that perform below given steps
    7. Go to project structure and right click on android folder and select Open in terminal.
    8. eShop Plus

      In terminal, run below command

    9. For Windows PC
    10. gradlew signingReport

    11. For MAC PC
    12. ./gradlew signingReport

      eShop Plus

    13. Copy debug SHA1 and SHA256 and add it in firebase console

    14. eShop Plus

      Note:
      1. When we are releasing apk then we need to add release sha in firebase panel otherwise otp will not work.
      2. after release you can get sha from play console here
      eShop Plus

    Change Authentication Method


      For OTP verification, we have integrated Firebase authentication method and Custom SMS Gateway.
  • Open admin panel, go to Settings -> Authentication Setting.
  • Here you can change the authentication method.
  • Note: By default Firebase authentication method is enabled.


  • eShop Plus

    How to enable Firebase Phone Authentication(OTP).


    1. Open your firebase console.
    2. Go to Authentication and open Sign-in method.
    3. Enable Phone Sign-in method and save.


    eShop Plus

    How to enable Google Authentication


    1. Open your firebase console.
    2. Go to Authentication and open Sign-in method.
    3. Go to Google and enable the google sign_in and then click 'Save'.
    eShop Plus

    You can enable or disable Google and Apple sign in option from admin panel.

    Go to Settings -> System Settings -> App & System Setting


    eShop Plus

    How to enable Apple Authentication


    1. Open your firebase console.
    2. Go to Authentication and open Sign-in method.
    3. Go to Apple and enable the Apple signin and then click 'Save'
    4. eShop Plus

    5. In Xcode, select the Signing & Capabilities tab, and add "Sign In With Apple" as a new Capability then select a team on the Code Signing section.
    6. eShop Plus

    Mandatory steps for IOS

  • Open

    ios/Runner/Info.plist in VScode

  • Add the client ID from the GoogleService-Info.plist into your app's /ios/Runner/Info.plist file.
  • eShop Plus
  • Then chnage the CFBundleURLTypes attributes below into the /ios/Runner/Info.plist file.
  • eShop Plus

    How to setup deeplink in app


    1. First of all download this google files from the link :Server side deeplink files
    2. Open both files in the any text editor and follow below steps
    3. eShop Plus
    4. eShop Plus
    5. After above changes save both files (Note- Keep name proper same of both files)
    6. Open server > Go to admin panel root folder
    7. You will get

      .well-known

      folder on root directory
    8. If you dont get that folder from setting then enable setting visible hidden files then check
    9. After changing setting, still you don't find the files, Create new directory named

      .well-known

      (Makesure name starts with dot[.])
    10. Add both above saved files inside the .well-known folder. and make it public
    11. In server > admin panel root folder you will get

      .htaccess

      file, Open it and paste below code in it.
    12. # 300 Redirections 
                                  
       # Redirect for Android devices 
       RewriteCond %{HTTP_USER_AGENT} (Android) [NC] 
       RewriteRule ^.*/provider/.*$ https://play.google.com/store/apps/details?id=com.wrteam.eshop.pro [R=301,L] 
       # Add more redirections here as needed... 
       
       # Redirect for iPhone/iPad devices 
       RewriteCond %{HTTP_USER_AGENT} (iPhone|iPad) [NC] 
       RewriteRule ^.*/provider/.*$ https://testflight.apple.com/join/ZqKwNk27 [R=302,L]
    13. Dont forget to change customer app's play store url and apple app store url in above code with your's app.

    14. For further steps open customer app code in android studio and follow below steps.
    15. eShop Plus
    16. eShop Plus

    How to Change default country code for OTP.


    1. Go to lib/utils/constants.dart and replace the default country code with your country code.
    eShop Plus

    Run this app


    Open your terminal, navigate to your project path and execute the following command to run this app.


    flutter run



    Settings for notifications


    Settings in admin panel


  • Open admin panel, go to Settings -> Notification & Contact -> Notification Setting


  • We need to add firebase services json file into the Admin panel.
  • Download the firebase json by opening your Firebase Project > Project Settings > Services Account, and clicking generate new key.



  • Upload the downloaded services json in the admin panel

  • Settings for IOS app


      for ios your need to perform below given step
    1. In Xcode, open the project.
    2. In the Project Navigator (the left-hand menu), select the project icon that represents your app.
    3. In the top-left corner of the right-hand pane in Xcode, select your app's target.
    4. Navigate to the Capabilities tab.
    5. Enable Push Notifications.
    6. Enable Background Modes and check Remote Notifications and Background Fetch .



    7. Create Token-based (.p8) certificate


    8. Log in to the Apple Developer Portal.
    9. Navigate to Certificates, IDs & Profiles > Keys Section and add a Universal key for Notifications,which you can use for more than one apps as well.
    10. Here either you can create a new Key or use an existing one. (Note: This key is not associateed with specific app. So if you hae already created it, then you can use the same key is multiple projects)




    11. Just save and Download & keep it safe, as it will be downloaded only once.



    12. Then go to Firebase and add this .p8 file along with Your Key ID and Team ID.



    Add Map API key for Address


    1. Go to Google Cloud Platform. Click here
    2. Click on console. eShop Plus

    3. Select your Firebase Project eShop Plus

    4. Search for APIs, which are shown in below image. eShop Plus

    5. Click on Enable to, enable that APIs eShop Plus

    6. Do above steps for below listed API. (enable all below APIs one by one by searching) eShop Plus

    7. Go to Credential Tab. you will find your Androiod and iOS API keys. eShop Plus

    8. You have to setup those above API keys for both Platform.
      1. Android Setup
          Next, open

          android ‣ app ‣ src ‣ main ‣ AndroidManifest.xml

          and search the "com.google.android.geo.API_KEY" into your application tag , change the value of this tag.

      2. Note: For the value field, please paste your APIKey which you have copied from the Google Maps API registration process.

        eShop Plus

      3. iOS Setup
        • Next, open the ios ‣ Runner ‣ AppDelegate.swift file and change the value of the key.

          GMSServices.provideAPIKey("YOUR_API_KEY_HERE")
      4. Note: Again, for the value field please paste in your API Key from the registration process.

        eShop Plus

    How to manage payment gatway and its credentials in admin panel


    1. Open admin panel, go to Settings > Payment Methods Settings.
    2. Here you can Active or Deactive payment method. For active methods set all necessary payment info in fields

    3. eShop Plus

    Integrate with admin panel


    Go to

    lib/utils/constants.dart

    and replace the baseUrl with your admin panel url.



    eShop Plus

    Add Language


    1. Open admin panel, go to Language.
    2. Here add the language code and language name. also turn on the 'is RTL' if the language is RTL

    3. eShop Plus

    4. After adding language you can see the language in the list. Then you have to add the translated value of each lables in below textfields.

    5. eShop Plus

    Change default language of app


    1. By default, applicaiton language is english. If you want to change default language go to lib/utils/constants.dart and add your respective language's code shown in below image. Get your language code from here https://developers.google.com/admin-sdk/directory/v1/languages.



      eShop Plus

    Change default Currency of app


    1. Open admin panel, go to Settings -> Currency Settings
    2. From System Default Currency , you can change default currency for app


    3. eShop Plus

    Add pusher info for chat feature


    1. Create account in https://pusher.com/
    2. After creating account, go to https://dashboard.pusher.com
    3. Go to https://dashboard.pusher.com/apps
    4. Click on create app and create the app
    5. After creating app, go to https://dashboard.pusher.com/apps
    6. Select your app
    7. Go to App Keys and copy the value of app ID, pusher key , pusher secret key and cluster

    8. eShop Plus
    9. Open admin panel, go to

      Settings -> Pusher Setting

    10. Here, paste the value of channel name, app ID, pusher key , pusher secret key ,cluster in the respective fields.

      eShop Plus

    Change URL for IOS app


    1. Open lib -> utils -> constants.dart
    2. Change value of 'iosLink' with your IOS app url.


    3. eShop Plus

    Get Privacy-Policy URL for PlayStore.


    1. Open admin panel, go to Settings
    2. For Customer App, Go to 'System Policies' and check for 'Privacy Policy'

    3. eShop Plus

    4. For Seller App, Go to 'Admin & Seller Policies' and check for 'Seller Privacy Policy'


    5. eShop Plus

    6. For Delivery Boy App, Go to 'Delivery Boy Policies' and check for 'Delivery Boy Privacy Policy '

    7. eShop Plus

    Configure force update


    If you want to force users to update to the latest app version then you can enable Force update feature in the admin panel.

    1. Go to admin panel, Settings -> System Settings -> App Settings and enable Version System Status.

    2. eShop Plus

    3. In you app code, go to pubspec.yaml and copy the version number of application.

    4. eShop Plus

    5. Enter the version number that we just copied into, Android and Ios Version fields. (Note : If you have uploaded differenet versions in android and ios app then you have to enter the version number accordingly for both app.)
    6. You have to repeat process for Customer, Seller and Delivery Boy app.
      eShop Plus

    Generate release version


    Create and add Key Store file for Androd:



    1. To generate a keystore file, run the following command:


        On Mac/Linux, use the following command:

      keytool -genkey -v -keystore your-keystore-file.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your-alias


        On Windows, use the following command:

      keytool -genkey -v -keystore your-keystore-file.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias your-alias


      You can replace "your-keystore-file.jks" with your preferred filename, but ensure you keep the ".jks" extension. Similarly, you can change "your-alias" as needed, but make sure to remember it. During this process, you will be prompted to set a password; please note that the password characters won't be visible on the screen.

      Additional information may be requested, but you can simply press Enter to skip those as they are optional fields.



    2. Create a file named "key.properties" in your project's "android" folder and add the following details, which correspond to the information you used in the previous step:


      storePassword=[your-password-from-previous-step]
      keyPassword=[your-password-from-previous-step]
      keyAlias=[your-alias-from-previous-step]
      storeFile=[your-keystore-file-location]


      Replace the placeholders ("[]" brackets) with the actual details you used. Once these two steps are completed, you can generate either an APK file using the following command:


      flutter build apk



      Or an app bundle file for the Play Store upload with:


      flutter build appbundle



    eShop Plus

    Follow these links for more information on generateing the release version:



    1. To generate release android app-bundle and publish to playstore follow https://flutter.dev/docs/deployment/android


    2. To generate release ios apk and publish to appstore follow https://flutter.dev/docs/deployment/ios

    Scope of Admin


    Accessibility of Admin

    • Add New store
    • View Order details
    • Category Management
    • Brand Management
    • Product Management
    • Seller Management with Commission
    • Delivery Boy Management
    • Customer Management
    • Slider Management
    • Offer Management
    • Media Management
    • Support Ticket Management
    • PromoCode Management
    • Featured Section Management
    • Payment Request Management
    • Notification Management
    • Location Management

    Accessibility of Seller

    • Order Management
    • Product Management
    • Wallet management
    • Media management
    • Location Management
    • Sales Report

    Accessibility of Delivery Boy

    • Order Management
    • Transaction Management

    Support


    Its our pleasure to serve and support our customers. Please contact our support team if you encounter any issues or have any questions related to eShop Plus.


    Customer Support Head for eShop Plus : Payal WRTeam


    To help our customers, we constantly be in touch with every customer if they need any assistance regarding our product.
    We offer our customers a support from Mon – Fri 9.00am to 6.00pm IST (GMT +5.30) – We are a Team located in India – Asia. Typically we reply our customers for all the questions and queries within 24 hours of time via comments, support forum or emails.

    Rating


    Your Feedback


    Dear valuable customer, Thank you very much for choosing our product. It's our pleasure to serve top-notch service to you. Please give us your honest feedback that will help us to make a more strong and reliable product by click here Rate Us. Thank you very much.

    Contact Us


    WRTeam has creative and dedicated group of developers who are mastered in Apps Developments and Web Application Development with a niche in delivering quality solutions to customers across the globe. Contact us today to find out how we can help you or for freelance work.

    Visit Us : https://wrteam.in

    Mail Us : support@wrteam.in


    Thank you very much.