Laravel eCommerce Multi-Tenant SaaS Module:- The laravel eCommerce multi-tenant SaaS module is an eCommerce virtual mall, where multiple-vendor can sign-up and create their own e-commerce store with their domain name.
Bagisto is an online e-commerce platform that helps anyone to start their e-commerce store within a few minutes without any technical requirements.
The merchant doesn’t need to add any plugin to create their store, it is the full end-to-end integration. You have to just signup then you can start your business.
Feature of Laravel eCommerce Multi-tenant SaaS Module
- Admin can easily set up and manage saas based eCommerce solution
- Flexibility and scalability for your business
- Multiple eCommerce merchants can access at a time
- The super admin can view the products list of their merchant’s store
- Super admin will get the email notification whenever a customer orders a product from his merchant’s store
- The super admin can also view the customer data of their merchant’s store
- Manage multiple businesses with custom domains or self-provided domains
- Super admin can also view the orders of their merchant’s store
- The Merchant can Change the domain from channel settings
- The Merchant manage their own store using their own dedicated admin dashboard
- Supported the Bagisto Velocity theme
- Supported all product types of Bagisto Framework including Simple, Downloadable, Grouped, Bundle, Configurable, Virtual, and Booking.
- Every merchant will also receive the mail whenever a customer will order from his store
- High security in a session
- Easy Customisation
- Easy Updates of Laravel Multi-Tenant SaaS.
- ACL system for the Super admin users
- CMS pages support at super admin
- Add an option to register a tenant account from the super admin end
Note:-
- Do not install bagisto till you configure this extension.
- Do not seed your database at any point using ‘php artisan db: seed‘ (seeding is done automatically when the seller is registered)
- Run the command from the root in terminal ‘composer create-project’
- Find ‘.env’ file in the root directory then changes the APP_URL parameter to your application’s domain name.
- Add your database credentials in.env where params DB_DATABASE, DB_USERNAME, DB_PASSWORD should be added as of your own database credentials.
- DB_DATABASE is the name of your database where all the tables will be created.
Installation of Laravel eCommerce Multi-Tenant SaaS Module
Customers will get a zip folder after purchasing the extension. After that, Unzip the respective extension zip and then merge the “package” folder into the project root directory.

Goto config/app.php file then add the following line under ‘providers’
Webkul\SAASCustomizer\Providers\SAASCustomizerServiceProvider::class
Do the below entry in config/app.php “aliases“
'Company' => Webkul\SAASCustomizer\Facades\Company::class
Goto config/concord.php and packages/Webkul/Core/src/Config/concord.php files and add the following line under the ‘modules’ index in both files:
\Webkul\SAASCustomizer\Providers\ModuleServiceProvider::class
Goto composer.json file inside the Bagisto root directory and add the following line under ‘psr-4’
"Webkul\\SAASCustomizer\\":"packages/Webkul/SAASCustomizer/src",
Another entry inside file(‘app/Http/Kernel.php’,):
In this file, you can find an array of’ middleware groups’ inside it there is
a key named ‘web’ inside it do an entry:
\Webkul\SAASCustomizer\Http\Middleware\ValidatesDomain::class
Find a file auth.php present inside the config folder from the root and do the following entries:
Insert the below in gaurd array
'super-admin' => [ 'driver' => 'session', 'provider' => 'superadmins' ]
Then insert the below code in the provider array
'superadmins' => [ 'driver' => 'eloquent', 'model' => Webkul\SAASCustomizer\Models\Agent::class ]
insert the below code in the ‘passwords‘ array
'superadmins' => [ 'provider' => 'superadmins', 'table' => 'super_admin_password_resets', 'expire' => 60,
composer dump-autoload
php artisan SAAS:install
* Access the super admin panel using: http://saas.com/super/login
Once you run the command “php artisan SAAS:install” then you have to enter your super admin credentials like email id and password

Let’s discuss on the few DNS Record
CNAME:- Cname is standing for Canonical Name. Every website has an IP address to connect to the world wide web. Where we need more than one domain on a single IP address, their Cname will be useful to map the multiple domains on a single IP address.
For example, If you have your domain shop.mydomain.com and you want this domain point on your main domain(shop.com). Then you have to just replace the IP address of mydomain.com with shop.com so that your CNAME record will be created.
Wildcard:- With the help of the Wildcard DNS record, we can match the request for the non-existence domain name. A Wildcard DNS record is identified by an “*” asterisk. For example *.example.com.

Super-Admin Panel
Once the SaaS module is successfully installed, you can open your super admin panel (enter the example.com/super/login). Then the next page will be open like below then you have to enter your credentials then click on Sign in.

After successfully sign-in in, the super admin dashboard will be open like below. Super-admin can view all the company which is registered on their SaaS Panel.

Now as you can see in the below image super admin can export the tenant list from the respective Export Button into two forms CSV/XLS.

Download the tenant list by selecting the format such as CSV/XLS

In addition to this, the super admin can also register the tenant from the super admin panel itself.

Here the super admin has to enter the below details :
Name: Enter the name
Email Address: Provide the email
Phone: Provide the phone number
User Name: Enter the user name
Organization Name: Mention the organization name
Password: Provide the password
Once you click on the eye-icon on any particular company then you can view company/tenant insights

Tenant’s Insights
Under the tenant’s insights super admin can see all the information about their tenant store as shown in the below image :

Product Information:- No of products available on that company
Attribute Information:- No of attributes of the tenant
Customer Information: No of customers available
Customer Group Information:- Number of customer groups of the tenant
Category Information: No of category available to that company
Tenant Domain Information: Domain of that company
Edit Tenant Detail
The super admin can also edit their tenant details as per the below image.

However, the super admin can also delete the tenant as well, as per their requirement as shown in to the below image.

Tenant’s Customer
The super admin can see all the customer lists of their tenants as shown in the below image

Tenant’s Products
The super admin can also see all the product lists of their tenants as shown in the below image

Tenant’s Order
By navigating to Tenants>Tenant’s Order super admin can see all the orders of their tenants as shown in the below image

Super Agent
By navigating to the Settings>Super Agents the super admin can see the agent list.

Add Agent
By hitting the add agent button super admin can add the agent by providing the below information.

First Name: Enter the first name
Last Name: Enter the last name
Email: Enter the email id
Password: Set the password
Status: Select the status

Also, as per the above image super admin can assign the role to the super-agent based on their choice or requirements.
Roles
Under the Roles, the super admin can create many roles also with custom permissions.

Add Role

Name:- You have to enter the role name.
Description:- Enter a description of the role.
Permission:- You have to select the permission type for that particular role, once you select Administrator then all the administrator access will be given.

At the same time, once you select custom then you have to select what type of permission you want to provide that rule and click on Save Rule.
Super Locale
Now the super admin can add the locale by clicking on Setting>>Super Locales>>Add Locale

Code: Enter the code
Name: Enter the name
Director: Choose the direction
After that click on the Save Locale button
Super Currencies
Click on Setting>>Super Currencies>>Add Currency

Add Currency
Click on Setting>>Super Currencies>>Add Currency

Code: Enter the code
Name: Enter the name
Currency Symbol: Add the Currency Symbol
Currency Exchange Rate
Here You can find the currency exchange rate list as shown in the below image.

Super admin can easily edit/delete the currency
Adding Exchange Rate
Here super admin can add the exchange rate. Click on Setting>>Currency Exchange Rates>>Add Exchange Rate

Select Target Currency, enter the rate click on Save Exchange Rate
Super Channels
Here the super admin can see all their super-channel list. They can also edit his channel once they click on the pencil icon under the action section

By navigating to Settings>>Super Channels>>Super Channels List>>Edit Mode under the action filed, the super admin can edit the below settings.

General
Here super admin can find the Code, Name and Hostname of the channel
Currencies and Locales
The next step is to set your locales on a particular channel. Click on Setting>>Super Channels>>Super Channels List>>Edit Mode>>Locales(Select the locales(multi-select option))>>Save Channel

The super admin can also choose the default locale for the storefront.
Currencies
Click on Setting>> open the selected channel in Edit Mode
- Currency:- You can select or multi-select currency as per your choice.
- Default Currency:- You have to set your default currency that will be applicable throughout your eCommerce ecosystem
Once the channel setting has been done click on Save Channel
Design
Home Page Content: Under this section super admin can enter the content and image for their storefront.
Footer Content: The super admin can also enter the footer content that will also reflect on the storefront.

Logo and Favicon
Add the logo and favicon image.

Home page SEO

Enter the Meta Title: Super meta title
Meta Keywords: Enter super meta keywords
Meta Description: Super meta description
Send Email
Now the super admin can send emails to all their tenants with just one click as you can see in the below image :

After that, all the tenants will receive the email sent from the super admin.

CMS
With the help of CMS(content management system), the super admin can create a new page, edit the page for their store.
How To Create CMS Page
To Create a CMS page, open the Super Admin Panel then follow the below step
Add A New Page
On SuperAdmin Sidebar, click on CMS>>Pages>>Add Page
After clicking on the Add page, Below is the list of fields you need to fill under General.

Page Title:-You have to fill in the page title.
Channel:- Select the channel.
Content:- In this section, you have to write the content which you want to show on this page.
Enter The SEO Detail

Meta Title:-
Provide the main title of the page by which your page will be known as.
URL Key:-
Enter the page URL key
Meta Keywords:-
The meta keyword for the page needs to be provided to improve its searchability on the search engine for specific keywords.
Meta Description:-
Enter the description so that the page can easily appear in search engine listing.
Configuration
By navigating to the Configure>Design super admin can add the Logo and Favicon Image as you can see in the below image

Super Agent
Here super admin will find the Email Address of their Super Agent.

Content
Under the content section super admin can add the footer text for their Landing Page.

Super Admin Landing Page

Merchant Registration
There is three-step to register on the SaaS module.

Step1:- Merchant has to enter the Authentication Credentials like email, password, confirm the password then click on Continue.

Step2:- Merchant has to enter the Personal details like First Name, Last Name, Phone number

Step3:- Merchant has to enter the Organization details like user name and Organization name.

Merchant Front end
Now successfully seller front end created like below

Merchant Admin Panel
The merchant can enter their admin panel with the URL like abc.test.com/admin/login such as below. You will get the backend likewise bagisto.

Custom Domain
In the SaaS module, Merchant can run their website on their own domain and they will get all benefits of the Custom domain. They will get benefits like below
- Website will more flexible using own domain
- Merchant can host their website where they want
- No more hosting provider restrictions on your website
- URLs and email addresses are entirely your own
Domain Mapping is the most important so that customers can access their portal through their custom domain. So let’s discuss a few technical components which are used for domain mapping.
DNS:- DNS stands for Domain name system. DNS is used to translate the IP address into a domain name, for example, if any can run “example.com” on their browser then the browser will perform a DNS query against the DNS server.
So that the DNS server can take the hostname and resolve it to a numeric address so that the web browser can connect with the related IP address.
There is a component DNS Resolver which is used to checking the hostname is available or not in the local cache. Then return to the browser or application.
That’s all for Laravel eCommerce Multi-Tenant SaaS Module, still, have any issues feel free to contact us.
Also, you can raise a ticket at https://bagisto.uvdesk.com/en/
Current Product Version - 1.3.3
Supported Framework Version - Bagisto: v1.3.3
Is it compatible with version 1.0 of bagisto?
Regards,