Introduction

Bestatshop Thumbnail Bestatshop - eCommerce Shopping Website + Admin Panel.

Bestatshop - eCommerce Shopping Website + Admin Panel (Ionic Android & IOS apps) - CodeCanyon Item for Sale Live Preview Screenshots We will be happy to customize the application for your specific need, please contact [email protected] Bestatshop is an online sales platform that sells wide range of products such as the books, computers, cosmetics and many more. You can search for the required product and purchase according to your needs. As you shop the items, you can add them to the cart and can checkout upon completion. If you are not satisfied with the item purchased, you can go for Returns and Exchange option which is available.

Contact Support Create Support ticket

Requirement

Technologies
  • Framework Laravel 9x
  • Bootstrap 5
System Requirements
  • PHP version >= 8.0
  • Must have SSL enabled on the server
  • Database Support MySQL, Mysqli, MariaDB
  • MySQL Supported Version: 5.x & 8.X
PHP Extension Requirement
  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP Extension
  • Mbstring PHP Extension
  • Exif PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • GD PHP Extension
  • JSON PHP Extension
  • Intl PHP Extension
  • Sodium PHP Extension
  • Curl PHP Extension

Core Features

– Full integration with WooCommerce
– Seamless support for both iOS and Android platforms.
– Social logins via facebook
– Simple and adaptable customization to align with your brand identity.
– Instant push notifications through Firebase.
– Comprehensive support for shipping and discount management.
– Easily manage flexible shipping options through the admin panel.
– Integration of multiple payment methods, including PayPal, Stripe, and Cash on Delivery (COD)..
– Enjoy the convenience of WishLists that synchronize across multiple devices.
– Keep track of your orders with the My Order tracking feature.
- Quick and secure wallet payment options.

PHP Configuration

Open your PHP configuration file php.ini and change the following settings:

memory_limit = 64M
max_execution_time  = 300
upload_max_filesize = 50M
max_file_uploads = 50
Note

If you are using cPanel, you can follow this article to change your PHP memory limit: https://chemicloud.com/kb/article/how-to-increase-the-php-memory-limit-in-cpanel/

Local Server Installation

Step 1: Place Files
  • Unzip the script which you have downloaded
  • Start your xampp or wampp server
  • If you are using xampp please put the extracted file inside htdocs folder

Step 2: Configure .env file

Please go to 'your project root' folder and edit the .env file. On this file please update accordingly to your information and save the file.

APP_NAME='YOUR_APP_NAME_HERE'
APP_VERSION='1.0.0'
APP_ENV=production
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=http://yourdomainname.com

FORCE_HTTPS=false
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_user_name
DB_PASSWORD=your_db_password

You must change these values before move forward.

APP_NAME, APP_URL, DB_HOST, DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD


Step 3: Import SQL file

Once database information updated on .env file then please import the SQL file bestatshop.sql into your database. You will find the file in bestatshop-sql folder.


Step Final

Open terminal from your project root folder
Run composer update
Run php artisan optimize
Run php artisan storage:link
Run php artisan serve


Go to browser and enter localhost:8000

Live Server Installation

Step 1: Place Files
  • Unzip the script inside the public_html folder
  • Now copy the .htaccess file from the public folder and paste it into the project root folder

Step 2: Configure .env file

Please go to 'your project root' folder and edit the .env file. On this file please update accordingly to your information and save the file.

APP_NAME='YOUR_APP_NAME_HERE'
APP_VERSION='1.0.0'
APP_ENV=production
APP_DEBUG=false
APP_LOG_LEVEL=debug
APP_URL=http://yourdomainname.com

FORCE_HTTPS=false
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_user_name
DB_PASSWORD=your_db_password

You must change these values before move forward.

APP_NAME, APP_URL, DB_HOST, DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD


Step 3: Import SQL file

Once database information updated on .env file then please import the SQL file bestatshop.sql into your database. You will find the file in bestatshop-sql folder.


Step Final

Open terminal from your project root folder
Run composer update
Run php artisan optimize
Run php artisan storage:link
Run php artisan serve


Go to browser and enter https://your-domain.com/

Default Admin Credentials

SSL Configuration

  • 1. Change the following code in .env file from APP_URL=http://domain.com to APP_URL=https://domain.com.
  • 2. There have 3 options:
  • Option 1: Add ENABLE_HTTPS_SUPPORT=true to .env file
  • Option 2: Add to .env file following code:
    FORCE_SCHEMA=https
    FORCE_ROOT_URL=https://domain.com
    ENABLE_HTTPS_SUPPORT=false
    
  • Option 3: If you are using hosting and Cpanel, you can Force HTTPS Redirection for your domains. Check this article.
Note

If it doesn't work, you have to config it in .htaccess or Nginx config.

Notification Settings

Firebase
Create a Firebase Project:
Add Your App to the Project:
  • In the Firebase Console, select your newly created project.
  • Click on "Add app" and choose the platform (e.g., Android).
  • Follow the setup wizard's instructions, which may include providing your app's package name and other information.
Download the Configuration Files:
  • After adding your app, you'll be prompted to download a google-services.json file for your Android app. Place this file in the appropriate location in your Android project.
Set Up Your Android Project:
  • In your Android project, add the Firebase SDK and other necessary dependencies to your app-level build.gradle file. Ensure that you have the following dependencies:
    implementation 'com.google.firebase:firebase-messaging:20.1.6'
    implementation 'com.google.firebase:firebase-core:17.5.0'
    
Initialize Firebase:
  • In your app's main activity or application class, initialize Firebase with the following code in your onCreate method:
    FirebaseApp.initializeApp(this);
    
Implement Firebase Cloud Messaging:
  • Create a class that extends FirebaseMessagingService to handle incoming messages.
  • Override the onMessageReceived method to process and display the received messages.
  • You can customize how notifications are displayed and handle custom data payloads here.
Request Necessary Permissions:
  • Ensure that your app has the necessary permissions, such as internet and permission to receive push notifications.
Subscribe to Topics (Optional):
  • You can subscribe devices to specific topics to send targeted notifications. Use the FirebaseMessaging.getInstance().subscribeToTopic("your_topic") method to subscribe devices to a topic.
Test Your Setup:
  • Test push notifications using Firebase Cloud Messaging's built-in tools or a Firebase Cloud Messaging API.
Send Notifications:
  • You can send notifications to your app via the Firebase Console or programmatically using the Firebase Cloud Messaging API.
Handle Token Refresh (Optional):
  • Implement the onNewToken method in your FirebaseMessagingService to handle token refresh events.

Remember to refer to the Firebase documentation and adapt the steps based on your specific use case and platform. Also, make sure your app's server is correctly set up to send notifications to Firebase Cloud Messaging.

Note

Replace your firebase json credential file into -> public\firebase

Payment Gatewayts

Stripe
  • Go to Stripe & create a new account.
  • Login to your dashboard & turn your account on by flipping the switch from “Test” to “Live”.
  • Click Activate Account in the pop up window to fill out the standard business details Stripe needs to send you payments.
  • Once you’ve completed the entire form, click Activate Account.
  • Now that your account is live, go to Your Account and click on Account Settings.
  • Click the API Keys tab & copy the Live Secret Key & Publishable Key.
  • Go to Admin Panel -> Settings -> Payment Settings, find Stripe and edit the following options:
    1. Stripe API Key - Your Stripe secret api key that starts with pk_
    2. Stripe Secret Key - Your Stripe secret key that starts with sk_
Paypal
  • Login to PayPal, then click here: https://developer.paypal.com/developer/applications/create
  • Set your app name, email address then click Create App.
  • On the top right side, you can see two tabs, SandBox and Live, Choose Live.
  • Go to Admin Panel -> Settings -> Payment Settings, find PayPal and edit the following options:
    1. Paypal Client ID - PayPal application ID you created in the previous chapter.
    2. Paypal Client Secret - PayPal application secret key you created in the previous chapter.

Email Settings

Need to config mail in Admin ->> Settings ->> Email SMTP Settings.

SMTP Settings
SMTP

App System Requirements

  • Node.js and npm (Node Package Manager) installed.
  • Ionic CLI and Cordova CLI installed globally (Ionic 5).
  • A code editor (e.g., Visual Studio Code, Sublime Text).
  • Internet connection for downloading dependencies.

Getting Started

  • Download the source code for Bestatshop from CodeCanyon.
  • Extract the downloaded ZIP file to your local machine.

App Configuration

Change app icon and splash screen
Change Base URL
  • Replace the files in the resources (resources/icon.png) (resources/splash.png) folder with respective size and format.
  • Open /app/constants.ts file then replace your apiBaseUrl

    App Setup
Change Payment Gateway Keys and Configs
Stripe:
  • Open /app/constants.ts file then replace your Stripe Keys and configs

    Stripe
Paypal:
  • Open /src/index.html change the pay-pal client-id

    Paypal

Node modules installations

Go to the project root directory and run the following command

npm install

Android Platform Setup

  • Before you can build for Android, ensure that you have Android Studio and the Android SDK installed on your system.
  • Open a terminal and navigate to your project's root directory.
  • Run the following command to add the Android platform to your project:

    ionic cordova platform add [email protected]
  • Once platform added successfully, In app=>build.gradle need to the following changes compileSdkVersion cordovaConfig.SDK_VERSION ===> compileSdkVersion 31
  • Replace Whitelist class with AllowList in cordova-plugin-file-transfer > src > android > FileTransfer.java

    import org.apache.cordova.Whitelist; => import org.apache.cordova.AllowList;

    /* This code exists for compatibility between 3.x and 4.x versions of Cordova.
     * Previously the CordovaWebView class had a method, getWhitelist, which would
     * return a Whitelist object. Since the fixed whitelist is removed in Cordova 4.x,
     * the correct call now is to shouldAllowRequest from the plugin manager.
     */
    Boolean shouldAllowRequest = null;
    if (isLocalTransfer) {
    	shouldAllowRequest = true;
    }
    if (shouldAllowRequest == null) {
    	try {
    		Method gwl = webView.getClass().getMethod("getWhitelist");
    		AllowList whitelist = (AllowList)gwl.invoke(webView);
    		shouldAllowRequest = whitelist.isUrlAllowListed(source);
    	} catch (NoSuchMethodException e) {
    	} catch (IllegalAccessException e) {
    	} catch (InvocationTargetException e) {
    	}
    }
    

    Replace Above code with below code it's work s for me

    /* This code exists for compatibility between 3.x and 4.x versions of Cordova.
       * Previously the CordovaWebView class had a method, getWhitelist, which would
       * return a Whitelist object. Since the fixed whitelist is removed in Cordova 4.x,
       * the correct call now is to shouldAllowRequest from the plugin manager.
       */
      Boolean shouldAllowRequest = null;
      if (isLocalTransfer) {
    	  shouldAllowRequest = true;
      }
      if (shouldAllowRequest == null) {
    	  try {
    		  Method gwl = webView.getClass().getMethod("getWhitelist");
    		  AllowList whitelist = (AllowList)gwl.invoke(webView);
    		  shouldAllowRequest = whitelist.isUrlAllowListed(source);
    	  } catch (NoSuchMethodException e) {
    	  } catch (IllegalAccessException e) {
    	  } catch (InvocationTargetException e) {
    	  }
      }
    

    More details please refer this issue link: https://github.com/apache/cordova-plugin-file-transfer/issues/306#issuecomment-884796504

  • Please add the google-services.json file in this location platforms/android/app/google-services.json
  • Then run your android app to your mobile by running the following command :ionic cordova run android

iOS Platform Setup

  • To build for iOS, you must have Xcode and a Mac with macOS installed.
  • Open a terminal and navigate to your project's root directory.
  • Run the following command to add the iOS platform to your project:

    ionic cordova platform add [email protected]
  • Once platform added successfully, In app=>build.gradle need to the following changes compileSdkVersion cordovaConfig.SDK_VERSION ===> compileSdkVersion 31
  • After the platform is added successfully, do the pod install on the ios folder location.Then Please command three line in Plugins/cordova-plugin-file-transfer/CDVFileTransfer.m
  • Then run your android app to your mobile by running the following command :
    ionic cordova run android

FAQs

With one purchase code you can use it on one domain name. You need to get new license for every new domain name, please check Envato Help Page for more information about licenses.

If you need support, or if you're facing any problems, please contact us via Envato Support
Please note that our respond can take up to 2 business days.

  • Availability to answer questions, Answering technical questions about item’s features, Assistance with reported bugs and issues, Help with included 3rd party assets.
  • Any customization request will be ignored.
  • Please make sure to read more about the support policy.

Support

If this documentation does not address your questions, please feel free to contact us via email at Item Support Page

We are in the GMT+5:30 time zone and typically respond to inquiries on weekdays within 12-24 hours. Please note that in rare cases, the response time may extend to 48 hours, especially during holiday seasons.

Note:

We strive to offer top-notch support, but it's only available to verified buyers and for template-related issues such as bugs and errors. Custom changes and third-party module setups are not covered.

Don’t forget to Rate Bestatshop!
Please take a moment to rate our product on CodeCanyon. Your support means a lot to us. Just go to your CodeCanyon Profile > Downloads Tab, and you can leave a review for our script. Thank you!

License

Bestatshop is developed by Dreams Technologies and is available under both Envato Extended & Regular License options.

Regular License

Usage by either yourself or a single client is permitted for a single end product, provided that end users are not subject to any charges.

Extended License

For use by you or one client in a single end product for which end users may be charged.

What are the main differences between the Regular License and the Extended License?

Note

If you operate as a freelancer or agency, you have the option to acquire the Extended License, which permits you to utilize the item across multiple projects on behalf of your clients.

Do you need a customized application for your business?

If you need a customized application for your business depends on your specific requirements and goals, Please contact us.

Customization can be the key to success, ensuring your project perfectly aligns with your unique goals and requirements.

Don't Miss Out on the Benefits of Customization!

Unlock the potential of your project. It's time to ensure that your project isn't just another cookie-cutter solution but a truly unique and effective one.

Discover how customization can make a difference in your project's success. Let's create a solution that's as unique as your vision!

  • We'll tailor the application to meet your specific needs and preferences.
  • We will upload your website to the server and ensure it is live.

Version 1.0.2

7 Nov 2023
Laravel
Added
  • AddedPostcode-based shipping
  • AddedBlog Management
  • AddedWallet Payments
Updated
  • UpdatedLaravel Version 9.X
  • UpdatedGrid/List View for Products
Mobile Application
Added
  • AddedPostcode-based shipping
  • AddedWallet Payments
Updated
  • UpdatedNew Design

Version 1.0.1

27 Nov 2020
Laravel
Added
  • AddedAndroid App
  • AddedIOS App

Version 1.0

24 Nov 2020
  • AddedIntial Release
thanks

Thank You

Thank you once again for downloading Bestatshop.
We hope you're enjoying your experience, and we kindly request that you take a moment to share your valuable review and rating with us.

Review Link:https://codecanyon.net/downloads