Read More
Read More
Menu Close

    How to build eCommerce website using Laravel?

    Building a Laravel eCommerce website requires a full understanding of the eCommerce ecosystem and also the right data workflows.

    With that, there is the use of the framework that should be easy to code and should have wide community support also should be scalable.

    Thus of all the PHP Frameworks, Laravel is, of course, the most suited PHP Frameworks that should be used for creating an eCommerce shop.


    Image Source : excellentwebworld

    Start your headless eCommerce
    Read More

    However, with the complexity involved in developing the eCommerce framework, rather than one should better use a combination of Open Source eCommerce Framework that is truly built on Laravel such as Bagisto.

    Bagisto is the next-gen eCommerce Framework that offers Multi-Warehouse Inventory out of the box

    Here I am going to show how you can easily set up your eCommerce Shop using the Bagisto Laravel eCommerce package.

    Bagisto — Laravel eCommerce

    Bagisto is an open Source eCommerce Framework built on the top of Laravel and alsoVue.js. 

    Live Demo – Bagisto

    With the code-driven approach and also the fully customizable structure, you can easily add/change anything and can even deploy your code in the Bagisto framework and create your own laravel eCommerce website.

    Now you can easily install Bagisto on Cloudways using the Cloudways Installation Guide


    • OS: Ubuntu 16.04 LTS or Higher / Windows 7 or Higher (WAMP / XAMPP).
    • Server: Apache 2 or NGINX
    • RAM: 4 GB or higher.
    • PHP: 7.4 or higher.
    • Processor: Clock Cycle 1Ghz or higher.
    • For MariaDB users – 10.2.7 or Higher.
    • MySQL: 5.7.23 or higher.
    • Node: 8.11.3 LTS or higher.
    • Composer: 1.6.5 or higher.

    Using Composer

    Below we are going to describe how you can install the Bagisto by using the composer.


    Follow the steps below to configure the Bagisto.

    • Downloading Bagisto

    Open the SSH terminal and go to the specified folder also run the command below to download the project onto your local machine or server

    composer create-project bagisto/bagisto

    Then go to the specific bagisto folder and configure database and email credentials in the .env file.


    After this run the below command to install the Bagisto on the system.

    php artisan bagisto:install

    In case, the composer is not installed in your system, you can also run the composer commands, by downloading the composer.phar file and put it in the root directory, then run the command below.

    php composer.phar create-project bagisto/bagisto

    For a downloadable zip file

    In case you have downloaded the zip file, get inside the directory bagisto-master, then run the below command.

    composer install
    • Setting .env Variables

    Once the process has been executed, open the .env file using editors and set your .env variable, especially the ones below:



    For a downloadable zip file

    If you have downloaded the zip file, you will get the .env.example file. Just make a copy of that file as .env

    cp .env.example .env

    and also set all the .env variable as mentioned above. Once the variables have been set, generate the application key

    php artisan key:generate


    Run the commands below to continue the installation process

    Execute below command to create a migration table in the database as defined in your .env file

    php artisan migrate

    Now the database will be seeded with default data using seed classes.

    php artisan db:seed

    With the command below, your configuration, assets (CSS, js, images, etc) and all necessary files will be copied to the specified publish location

    php artisan vendor:publish
    -> Press 0 and then press enter to publish all assets and configurations.

    You should create a symbolic link of storage directory with the public using the below command so that the images are publicly accessible.

    php artisan storage:link

    This is the end of the installation process.

    Installation Video

    You can also go through the video tutorial for the complete installation process.


    Accessing Front-End

     after the successful installation, just need to click the public folder.


    thus the front page of your website will pop up in front of you.


    Accessing the Admin Panel

    To access the admin panel of your shop, you can also follow the below URL



    And use the following credentials

    email:[email protected]

    Using the GUI Installer

    However, the new version also has been launched recently,  the GUI Installer has been added, which has made the process of setting up your Bagisto eCommerce store much easier.

    Thus follow the below steps to install Bagisto using GUI Installer.

    After you have downloaded the Bagisto package and extracted that, go to the root directory of the Bagisto and also run the below command to install all the dependencies of Bagisto.


    Once the dependencies have been installed, you need to click on the public folder as there in the directory.


    The Bagisto installer will pop up in the next step where it will check for the minimum configuration as mentioned in the prerequisites. If everything is alright, click the Continue button.

    In the next step, you need to fill the environment variables such as below :

    Application Name

    Here you need to provide the name for your application or your eCommerce store.

    Default URL

    Default Currency

    Choose the default currency for your store

    Default TimeZone 

    You can choose the default timezone for successful installation

    Default Locale 

    Here you need to choose the default locale for your store

    After that, click on Continue button for further configuration.


    Apart from the above,  you have to enter the more environment configuration as well, as shown in the below snapshot :

    Provide the name for the database that you have created for the store.

    Database Prefix

    You can enter the database prefix here.


    The database server username will be provided here.


    Here you also need to provide the password for the database server.

    After that, click on Save & Continue button for successful installation.


    Now click on Start Installation button to create the database tables and publishing the vendor files.


    Next, you will need to click on Continue Button for successful migration and also for loading test data in the tables.bagisto-database-seeding

    Now, you will be needed to provide Admin Details for your eCommerce store.


    Last but not the least, admin needs to setup their email configuration as shown into the below snapshot.

    After that click on Save Configuration button for successful installation of Bagisto Store.


    At last installation has been over and you will be redirected to Homepage or Frontend of bagisto.



    Above are the steps by which you can easily set up your Laravel eCommerce website in Bagisto and can also modify it as per your requirements.

    New features are also added like the Multi-Vendor marketplace by which several sellers can register to sell their products in a single eCommerce store.

    with the help of Bagisto POS, the user can easily manage the online as well as a physical store.


    In addition to this Larave eCommerce-Bagisto own a complete SaaS-based ecommerce solution by which anyone can start and grow their online eCommerce business.


    The best thing about laravel eCommerce website is the simplicity and also the customizable structure by which you can easily customize the bagisto eCommerce Framework.

    Also admin can improve the accessibility of their Bagisto store by using its Flutter based Mobile App.


    Moreover, the framework has been developed by the Webkul, which is also the leader for creating e-commerce extension and plugins for the past 10 years.

    Along with POS,  bagisto is also suitable for laravel mobile app

    Let us also know about your feedback in the comments below and also if you are looking for any help regarding Bagisto Installation.

    . . .
    Discuss on Helpdesk

    Leave a Comment

    Your email address will not be published. Required fields are marked*


  • Mani
    Very informative article

    well thankyou developer team for such beautiful framework
    • Simant Verma (Moderator)
      Thanks for the feedback sir.
  • Zain Abedin
    how can admin logo file input validation change?
    • Simant Verma (Moderator)
      • Zain Abedin
        I m change the admin dashboard logo and file format SVG but a validation error coming, you have provided the GitHub link but not solve this issue
        • Simant Verma (Moderator)
          Please use the format png format or use jpeg format for the logo image.


  • Zain Abedin
    Please send the latest server requirements software(PHP version).
  • Jennifer
    Hi.Why the myproject/databases/migrations folder not filles
    I use the “composer create-project bagisto/bagisto” install
  • Zain Ul Abedin
    Please guide me two thing
    1 – if any case I am run composer update commands then my all changes remove or not (packages\Webkul\Admin\src\Resources\views\catalog\products.index.php)
    2 – Best way how can override the model, controller, view, and others, etc .
    • Simant Verma (Moderator)
      Please ask this query in bagisto forum sir so that technical team will revert you in this.
  • Zain Abedin
    if any case i have run composer update command and then my all packages\Webkul\Admin\src\Resources\views\catalog\products
    changes remove or not?
  • Aymun
    Hey, I have few queries to ask;
    1- If we change the UI, then upon composer update command, do we need to make changes again? or Our changes will stay there?

    whats the second way of doing changes in UI?

    • Simant Verma (Moderator)
      Hello Sir,
      You don’t need to run the composer update command.
      After making the changes in Ui run the following commands:-
      composer dump:autoload
      php artisan vendor:publish.
  • Aymun
    Hey, I have few queries to ask;
    1- If we change the UI, then upon composer update command, do we need to make changes again? or Our changes will stay there?

    whats the second way of doing changes in UI?

    • Simant Verma (Moderator)
      Hello Sir,
      You don’t need to run the composer update command.
      After making the changes in Ui run the following commands:-
      composer dump:autoload
      php artisan vendor:publish.
  • Zain Abedin
    Hello, how can overwrite controller, model and view.they have possible?
    • Sanjana Singh (Moderator)
      Hello Zain,

      Greetings for the day!!

      Please check the below link to override controller, model and view.



  • Eslam
    Hello, thanks very much for this awesome project.
    i browsed the dashboard on live demo and i found that there is an arabic style and when i install it on my own host i didn’t found it.
    • Simant Verma (Moderator)
      Hello Sir,
      You need to save the locale in Channel also after creating.
  • Ajay
    Hi Team,
    Great work! Could you please some sample data of products, users, categories ETC. I want to check the listing and front end view.
    • Prachi Chauhan (Moderator)
      Sir, you need to create your own product and categories, and that’s really very easy and you can check the listing on the frontend. Also, you can check the demo once you upload your data you will find the same listing at the frontend.
  • Wealthyisaiah
    Can I integrate other modules on Bagisto such as chat functionality for customers to be able to chat with sellers?
  • Mahendra Singh
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    – The requested PHP extension ext-intl * is missing from your system. Install or enable PHP’s intl extension.
    that’s problem is removing,plz help me.

  • rahul saini
    Nice blog. I have learn a lot from your blog how to become a laravel ecommerce developer. I am looking for the same blog from so long time and finally i get. Thanks for sharing and keep sharing this type of information.
    • saurav pathak (Moderator)
      Thanks for your feedback.
  • robin thakur
    sir i nned your help plzz ping me when u r free
  • Ali Reza arju
    how can i change in the frontend?such as giving own logo
  • Mahbub Rajiv
    How to remove /public on real server? isn’t wired! can you help me brother?
  • iraide Aguilar
    I enter the administrator email [email protected] and the password admin123 but it tells me that the credentials with incorrect, as the password is hashed, I can not see it. It has been modified?
  • Iraide
    I enter the administrator email [email protected] and the password admin123 but it tells me that the credentials with incorrect, as the password is hashed, I can not see it. It has been modified?
    • saurav pathak (Moderator)
      May I know which bagisto version are you using?
  • Belawal Umer
    Migrations not installed…
    Show error
    I want bajisto db
  • Subhankar
    Hi, I am new to laravel. I found this is very helpful. But I can’t find routeing , controllers and models. Could you please let me know where these are located.
    • saurav pathak (Moderator)
      Hi Shubhankar,

      Thanks for your feedback on the blog. For your other query, I would recommend you to use our forum so our developers can guide you.

  • Rahul Anand
    Except for the home page, all other pages are throwing 404. I am using Nginx, php 7.2. and created a virtual domain and pointed it to the public directory of the framework. Only home page is working.
    • saurav pathak (Moderator)
      Hi Rahul,

      I request you to please raise a ticket regarding this here and do provide SSH details also so we can check. More specifically, we need to check the Nginx configuration so if possible root access can be provided, would be better.

      • Rahul Anand
        It is on my localhost machine. it is not deployed yet on any Server.
        • saurav pathak (Moderator)
          Our team need to check for the issue. Please try to check this on any live instance so we can also have a look at that.
  • Jesvin
    I download the files using composer and check the composer.json file, In it the basic requirements are
    “php”: “^7.1.3”,
    “laravel/framework”: “5.6.*”,
    its looks like old, and in the documentation you said PHP: 7.2 or higher any updates is pending?
    I check the migration files, its contains only the basic files.
    I don’t get any code from web.php and api.php
    • saurav pathak (Moderator)
      Hi Jesvin,

      The version that you need to have is ^7.1.3, the same is there in documentation too. May I know on which page have you seen the incorrect version?

  • lavin
    The page is keep running after I gave db details while installing configure.
  • Cess
    I tried to run php artisan migrate and this happened:

    Illuminate\Database\QueryException ?[49;22m : ?[33mSQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to
    your MariaDB server version for the right syntax to use near ‘json null, `created_at` timestamp null, `updated_at` timestamp null) default cha’ at line 1 ……

    Please help

    • Sanjana Singh (Moderator)

      Greetings for the day!!

      Please update the MariaDB version, for bagisto, it should be 10.2 or higher. Update the version from below link and do let us know if you face any other issue.
      MariaDB version update link

      • Belawal Umer
        I updated maria db version,but now this time,the error is “Nothing to migrate”….
        • Prachi Chauhan (Moderator)
          Hi Belawel,

          Greetings for the day !!

          This is not an error because your table is already created in the database. Now run the next command.

          Thanks & Regards

  • Valpuia
    I install zip package and did exactly like the installation guide, but after serving it gives error “Class Webkul\Core\Repositories\SliderRepository does not exist”
  • adam
    when i’m trying to login fashboard page

    Class ‘NumberFormatter’ not found

    keep showing to me !!

  • Chato
    Generating autoload files
    Carbon 1 is deprecated, see how to migrate to Carbon 2.
    You can run “.\vendor\bin\upgrade-carbon” to get help in updating carbon and other frameworks and libraries that depend on it.
    > Illuminate\Foundation\ComposerScripts::postAutoloadDump

    Is mandatory to update Carbon? Or can I continue this way?

  • Prajakta

    I’m trying to run this command: php artisan db:seed

    When i execute it showing following error:
    SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘bagisto.channels’ doesn’t exist (SQL: select * from `channels` where `hostname` in (,,

    Can you help me on this? Thank you

    • saurav pathak (Moderator)
      Drop all the tables and run the migration & seed commands again.
  • Adonai

    I’m trying to install Bagisto manually because UI installation stops on step Migration & Seed without showing errors.

    When I execute command “php artisan migrate” the process stop with this error: In Concord.php line 265: Class ‘Webkul\Discount\Models\CatalogRuleProductsPriceProxy’ not found.

    I suppose it is the error that is stopping the UI installation UI.

    Could you help me? Thank you.

    • saurav pathak (Moderator)

      Go to the file location where there is a discount model(packages/Webkul/Discount/src/Models/CatalogRulesProductsPriceProxy.php) in your bagisto folder that you might have, and just rename the file name from ‘CatalogRulesProductsPriceProxy.php’ to ‘CatalogRuleProductsPriceProxy.php’

      • Adonai
        Thanks for answering so fast!! The problem was solved with that correction, but then something similar happened with another class: ‘Webkul \ Discount \ Models \ CartRuleLabelsProxy’. I did the same and continued the migration. Many thanks!
        • saurav pathak (Moderator)
          Welcome, do let us know if you have any further query.
  • Vuyane Ngwenya

    I tried the migrate and seed step and i got this message
    ,In excel.php line 85:,, Class ‘Maatwebsite\Excel\Excel’ not found,,

    May you please help me

    • saurav pathak (Moderator)
      Kindly run this command once composer require maatwebsite/excel
  • yasir Soori
    Complete eCommerce Solution
    Great article….!!!Nice to know about new
    things with helping concept. I am almost brand new to blogging and really like
    your post, it is really on target! Thanks for all of your time & work. Hope
    you always write this blog.
    • saurav pathak (Moderator)
      We are really grateful for your feedback.
  • Rendi
    i’m installing Bagisto version 0.1.0 on the server, but i have a problem.
    my server using apache2, ubuntu 14.04, and when i run phpinfo show that php version is php7.0.

    the problem is when i run http://your-host/folder-name/public/ :
    This page isn’t working.

    and when i look into lavavel error log, show :
    syntax error, unexpected const (T_CONST), expecting variable (T_VARIABLE) {“exception”:”[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): syntax error, unexpected const (T_CONST), expecting variable (T_VARIABLE) at /var/www/html/qupe-old/vendor/symfony/http-foundation/HeaderUtils.php:21)

    Exception thrown without a stack frame {“exception”:”[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 16): Exception thrown without a stack frame at Unknown:0)

    • saurav pathak (Moderator)
      Hi Rendi,

      Greetings for the day!!!

      At first, Bagisto requires PHP 7.1.7 or higher, please check this out for the minimum requirements: Try upgrading your PHP version and check. If you still got the issue, you can raise ticket at

      • Rendi
        is it really the problem with the php version? because in my browser it doesn’t display an error message, only show this page is’nt working
        • saurav pathak (Moderator)
          I am just recommending you to start with the using the minimum requirements as needed for bagisto, then if the same error comes again, will let you know the alternative because usually, this error does not come.
          • Rendi
            i have other project in the server, because the reason i can’t upgrade to php7.1
          • saurav pathak (Moderator)
            I just checked on this, it’s because of the version. I recommend you to update the PHP version to use bagisto.
          • Rendi
            thanks for the answer, i try to upgrade php version
          • saurav pathak (Moderator)
            Great, did it resolved the issue at your end?
  • Ishak
    Hello me too i got this error :
    Notice: Undefined index: DB_HOST in C:\wamp64\www\bagisto\public\installer\install.php on line 36
    Undefined index: DB_USERNAME in C:\wamp64\www\bagisto\public\installer\install.php on line 37
    Undefined index: DB_PASSWORD in C:\wamp64\www\bagisto\public\installer\install.php on line 38