### Documentation

#### Shopperz - eCommerce App with Laravel Website & Admin Panel with POS | Inventory Management

Thank you so much for purchasing our item from codecanyon.

- Version: v1.0
- Author: iNiLabs

- Created: 9 December, 2023

If you have any questions that are beyond the scope of this help file, Please feel free to email via Item Support Page.

## Basic

To install, set up, and publish Shopperz with your branding, it's necessary to possess fundamental knowledge in both server-side and mobile app development since the system comprises multiple features for web and mobile applications.

- IDE for Mobile and Web development, we preferred Android Studio and VSCode.
- Flutter SDK and JDK with path setup in your IDE.
- Real server Server related knowledge like apache or local machine server, we preferred to use a real server.
- Server related knowledge and we preferred cPanel in your server for quick installation
- Basic knowledge in PHP, NPM, Vue, Node, Dart, Laravel and Flutter if you want to do some customization yourself (Not compulsory).
- basic knowledge about google cloud and firebase

Note: Remember! Envato's pricing does not cover installation or app publishing support. It is your responsibility to follow the installation instructions outlined in the documentation, as well as any necessary steps for setup and branding-related changes. We are not liable for any errors you may make during the process. Additionally, any customizations you make are entirely your responsibility.

## Server

Before install, please make sure you have the components bellow enable on your server

- PHP 8.1 or Greater
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- BCMath PHP Extension
- GD PHP Extension (or Imagick PHP Extension)
- PHP Zip Archive
- PHP JSON
- PHP cURL
- PHP Zip Archive
- Rewrite Module (Apache or Nginx)
- open_basedir must be disabled

Typically, these extensions are enabled by default on most servers, but it is recommended that you confirm with your hosting provider.

Please proceed with caution and take great care in completing this task. Any errors made will not be the responsibility of our team.

#### Active Purchase Key:

Before install, please active your envato purchase key from our system and install project by our license key

1. Goto inilabs official site inilabs.net
2. Now create an account in our site

3. Click the below link and verify your email

4. Now click Active Purchase Key from home page and fill you information

1. Select your product
2. Enter your domain, Which domain you would be using this product
3. Enter your envato purchase key and click submit

5. Now copy your Active License and install the product by this license

Tips Check the video tutorial!

## Mobile App

- Android studio
- Flutter SDK setup (latest version 3.16.2 Stable)
- Dart (3.2.2)
- JDK with path setup (only for vs code)
- Xcode for IPA file build

You can download android studio from here:

https://developer.android.com/studio?gclid=CjwKCAjwjMiiBhA4EiwAZe6jQ5FkqcdvrUO5TtFcxP6ly27gNLNJtvxEZvoLiC3JREwlZGXyQUB4zhoC3QEQAvD_BwE&gclsrc=aw.ds

Download Flutter SDK

## Environment Setup

- Flutter SDK

## Flutter SDK

You can download and setup flutter from here at flutter.dev and You can follow the documentation depends on your own device and os.

Windows: https://docs.flutter.dev/get-started/install/windows

Mac: https://docs.flutter.dev/get-started/install/macos

Linux: https://docs.flutter.dev/get-started/install/linux

Tips Check the video tutorial!

## Installation

Tips Check the video tutorial!

##### php.ini Requirements:

open_basedir must be disabled

Note: Remember! The script doesn't have any "install" folder or directory. The installation is controlled by a Controller.

Now Follow the steps below to setup the script:

1. Unzip the downloaded package from here and open the /Source Code folder to find all the script zip. You will need to upload the Shopperz-web.zip file to your hosting web server using FTP or localhost in order to use it install it on your website and then you need to unzip this file in your server desired location.
2. Below is the folder structure and needs to be uploaded to your website or localhost root directory:
3. You should upload all files.
4. Now you are good to go for start the installation process from the browser
5. Make sure in script folder /bootstrap and /storage folder have permission as 755 recursively.
6. Manually create a database using “Phpmyadmin”.
7. Run the install script path from any web browser (http://yourdomain.com/install) and click on “Check Requirements” button.
8. Now you can see your php extension list if it is already installed in all extension then you can see "Check Permissions" button. Now click on this button and go to next step
9. Now you will see the folders permission list if everything is ok then click “Configure Environment”
10. Now Enter your Licence code which you created from iNiLabs and click on you will see the folders permission list if everything is ok then click “Configure Environment”
11. Provide your database and App information like Database Host, Database Name, Database Username, and Database Password, then click “Setup Application”
12. Now you will see the login information (Email : admin@example.com , Password : 123456) then click here to exit
13. Good Luck!!!

## Firebase Push Notification Setup

Tips Check the video tutorial!

##### To use firebase follow the procedure which are mentioned below

1. Go to this URL to create project https://console.firebase.google.com/u/0/ If you already have a project then continue with that.
2. Now go to project settings to get server key
3. To get server key click on Cloud Messaging option
4. Turn on the switch and put the server key in your Notification settings in admin panel

## How to configure google map?

Tips Check the video tutorial!

##### To use firebase follow the procedure which are mentioned below

1. Go to https://console.developers.google.com/ and generate api keys separately for ios and android. No restrictions are needed.
2. In main AndroidManifest.xml put the map api key
3. Enable android and ios api. These are free.

## Business Setup

Within the administrative panel, we provide a designated section known as "Settings" This particular area empowers you to configure various essential aspects of your business, such as your Company, Site, Mail, Shipping Setup, OTP, Notification, Notification Alert, Social Media, Cookies, Analytics, Theme, Sliders, Currencies, Product Categories, Product Attributes, Product Brands, Return Reasons, Suppliers, Outlets, Benefits, Units, Taxes, Pages, Role & Permissions, Languages, Sms Gateway, Payment Gateway and numerous other pertinent settings.

Tips Check the video tutorial!

## Payment Gateway Configuration

In our initial version we are giving two major payment gateways in the system, which are PayPal and Stripe. Admin can setup these both payment gateways from the admin panel payment settings.

## SMS Gateway Configuration

We have one sms gateway integrated in the system which is Twilio and admin can setup that from admin panel -> sms settings.

## How to change or customize a language?

Translate your admin and website, follow these steps:

1. Login into the admin panel.
2. Goto settings -> Languages.
3. Click On Add Language.
4. Fill all field and add new language.
5. Click on the view icon of the new language low in from the list.
6. Select file from the dropdown option under Files tab and click get file content.
7. All the lebels and language objectives will appear in the bottom of the field.
8. Now update the value of all the input fields and click save.
9. You do not change any word under the curly bracket text {}, example `{name}`.
10. When all language is changed then run some command in your terminal or ssh panel.

`npm install` `npm run prod`

## Mobile Building

#### Run an existing flutter project on IDE

Tips Check the video tutorial!

#### Change App Logo

To change app logo replace at this file

- Go to `<project>assets/images/` and replace app_logo.png with your own logo.
- Then run this command

`flutter pub run flutter_launcher_icons`

#### Change App Icon

To change app icon replace at this file

- Go to `<project>assets/images/` and replace logo.png with your own logo.

#### Change App Splash Icon

To change app splash icon replace at this file

- Go to `<project>assets/images/` and replace splash_logo.png with your own splash icon.

Tips Check the video tutorial!

#### Change App Name

1. For Android Change the value of label from `<project>/android/app/src/main/AndroidManifest.xml`

   /android/app/src/main/AndroidManifest.xml

   `android:label="My App Name"`

2. For IOS Change the value of CFBundleName from `<project>/iOS/Runner/info.plist`

   /iOS/Runner/info.plist

   `<key>CFBundleName<key> <string>My App Name<string>`

Tips Check the video tutorial!

#### Setup License Key

Generate the license key from inilabs.net and copy the license key and setup in the app source code.

    <project>/lib/util/api-list.dart

    static String? licenseCode = "YOUR_LICENSE_CODE";

#### Change Base URL

To change base url replace baseUrl from

    <project>/lib/util/api-list.dart

    static String? baseUrl = 'https://your_domain.com';

Warning! Don’t put slash (/) at the end of your base url.

Tips Check the video tutorial!

#### Change App Primary Color

To change the app primary color, change the value of primaryColor with your own color hex code.

    <project>/lib/util/constant.dart

    static const Color primaryColor = Color(0xffFF006B);

#### Setup Firebase for Push Notification

First you have to change your package name. If you didn’t then follow this.

1. Create your own firebase project from https://console.firebase.google.com and also add an android app there with your own package name and app name.

   Warning Do not create multiple project if you have multiple app like User App, Delivery App. Create only one project and add multiple app under project.

2. Click register app and download `google-services.json` file from there.

3. Copy that file and paste it under `<project>/android/app/ folder`.

4. For IOS again create an app under same project and download `GoogleService-Info.plist` and paste it under `<project>/iOS/` folder. Also follow this documentation for full setup for IOS: https://firebase.flutter.dev/docs/messaging/apple-integration

Tips Check the video tutorial!

#### Add Google Map API Key

1. You need to generate the google API key. Visit this link - https://developers.google.com/maps/documentation/embed/get-api-key
2. You need to enabled mentione APIs: Direction API, Distance Matrix API, Geocoding API, Maps SDK for Android, Maps SDK for iOS, Place API.
3. You have to enable billing account. Visit this url for activating: https://support.google.com/googleapi/answer/6158867?hl=en
4. After generating API key, you have to put it on 3 different place for Android, iOS and web.
5. You will need to generate your own google-services.json. Do not use ours – it will not work for you

To add google map api key replace mapApiKey from

    <project>/lib/util/api-list.dart

    static String? mapApiKey = "YOUR_MAP_API_KEY_HERE";

For android, open `<project>/android/app/src/main/AndroidManifest.xml` and place the value of `com.google.android.geo.API_KEY`

/android/app/src/main/AndroidManifest.xml

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

For iOS: open `<project>/iOS/Runner/AppDelegate.swift` and place the value of `GMSServices.provideAPIKey`

/iOS/Runner/AppDelegate.swift

    GMSServices.provideAPIKey(“YOUR_MAP_API_KEY_HERE")

## App build & release

#### Build for Android

For debug app build you can run this command:

    flutter build apk --no-tree-shake-icons

Build file location: `<project>/build/app/outputs/flutter-apk/` For deploying it please follow this documentation: https://docs.flutter.dev/deployment/android

#### Build for iOS​

There are no general way to generate app for iOS. Apple doesn’t allow to install app like this debug way. If you want to install it on your iOS device then you have to deploy it on TestFlight or AppStore. For deploying it please follow this documentation: https://docs.flutter.dev/deployment/ios

## Addon Installation

Right Now We do not have any addons with the script:

## Support

If this documentation doesn't answer your questions, So, Please send us Email via Item Support Page

We are located in GMT +6:30 time zone and we answer all questions within 12-24 hours in weekdays. In some rare cases the waiting time can be to 48 hours. (except holiday seasons which might take longer).

Note: While we aim to provide the best support possible, please keep in mind that it only extends to verified buyers and only to issues related to our script's & app's like bugs and errors. Custom modifications or third party module implementations are not included.

#### Don’t forget to Rate this script

Please Add your Review (Opinion) for Our script. It would be a great support for us.
Go to your Codecanyon Profile > Downloads Tab > & then You can Rate & Review for our script.
Thank You.

## Changelog

### Version 1.0 (09 November, 2023)

- Initial Release

### How to Update Your Current Version to New Version?

1. Request an update version zip by opening a ticket at https://inilabsn.freshdesk.com