Wwb‑Cart Multi-Location eCommerce solution to help online merchants easily open an online store where multiple vendors sell their products, services, rentals and electronic goods through a single storefront, whether it be a small online mall or a huge marketplace like eBay or Amazon. You can check the web-cart demo and documentation.
For Live Demo: Click Here
For More Details: Click Here
1. Installation
1.1.1 Setting up Virtual Host
1.1.2 Enabling OpenSSL PHP Extension and other PHP configuration
1.2 Installing on Virtual Private Server or Shared hosting
1.2.1 Enabling OpenSSL PHP Extension and other PHP configuration
2.2 Business Settings – Timezone, Currency etc.
2.3 Site Settings – Logo, Title etc.
2.5 Payment Settings
2.7 Profile Settings
3. Settings Locations for Stores
3.1 Adding Roles with Permissions
3.2 Assigning Staff to a Store
4. Storefront
4.1 Login and Signup
4.2 Account Overview
4.2.1 Viewing Orders
4.2.2 Shipping Addresses
4.2.3 Editing Profile
4.4 Filtering and Sorting Products
4.5 Shopping Cart
4.5.1 Selecting Shipping Address
4.5.2 Choosing Payment Method
5. Admin Panel
5.1 Product and Catalog Management
5.1.1 Managing Products
5.1.1.1 Adding Categories
5.1.1.2 Adding Brands
5.1.1.3 Adding Product’s Specifications
5.1.4.4 Adding Products
5.1.4.5 Approving Product’s Ratings and Reviews
5.1.2 Orders Management
5.3 Deals, Coupons and Discounts
5.4 Sales Report
5.5.1 Adding Page Sections
Webcart is made with PHP Laravel framework. Basically, setting up any project made with Laravel is required to perform these major steps:
1. Generate APP KEY.
2. Setup database credentials in “.env” file.
3. Perform database migration and seeding.
Step 1. Download XAMPP (or WAMP) and install it
https://www.apachefriends.org/index.html
Step 2. Navigate to “htdocs” (in case of XAMPP) or “www” (in case of WAMP) directory. For XAMPP, by default it is located at: “C:\xampp\htdocs”.
Step 3. Inside of “htdocs” or “www”, create a new directory, let’s call it “webcart”
C:\xampp\htdocs\webcart
Step 4. Copy “webcart.zip” and unzip it in that directory. So, you have files like:
C:\xampp\htdocs\webcart\.env
C:\xampp\htdocs\webcart\composer.json
and so on.
“webcart.zip” is provided inside of the folder named “webcart” in the package.
Step 5. Open “.env” file, and fill in database credentials.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_webcart
DB_USERNAME=root
DB_PASSWORD=
Step 6. Open XAMPP and start Apache and MySQL server. Then, open your web browser and navigate to http://localhost/phpmyadmin
Step 7. Create a new database and name it “laravel_webcart”, the same that you named it in “.env” file.
Step 8. Navigate to “webcart” directory in your terminal or command prompt:
> cd C:\xampp\htdocs\webcart
And, run command from this directory:
> php artisan webcart:install
Provide email, username and password for Super Admin and confirm. Subsequently, it will generate APP KEY, perform database migration and seeding.
You can also do this by running these commands in order:
> php artisan key:generate
> php artisan migrate
> php artisan db:seed
Or, simply run:
> php artisan key:generate
After, you can import “laravel_webcart.sql” to your database using phpmyadmin. The default username for Super Admin is “admin” and default password is “admin”. You can change these credentials later.
“laravel_webcart.sql” is provided inside of the folder named “guide” in the package.
Wait for installation to finish. After, you can navigate to http://localhost/webcart/public in your browser.
If you want to use URL like http://webcart.dev or http://webcart.local in place of “http://localhost/webcart/public”, then you can set up virtual host.
To setup virtual host, you need to configure Apache’s virtual host.
Open “C:\xampp\apache\conf\extra\httpd-vhosts.conf” file in your editor and add these lines at the end and save it:
<VirtualHost *:80>
DocumentRoot “C:/xampp/htdocs/webcart/public”
ServerName webcart.local
</VirtualHost>
Also, you need to edit “hosts” file. Copy “C:\Windows\System32\drivers\etc\hosts” file to Desktop and open it in your editor. Add these lines to the end and save it:
127.0.0.1 localhost
127.0.0.1 webcart.local
Then, copy “hosts” file from Desktop and paste it back to “C:\Windows\System32\drivers\etc”. Finally, restart apache server and navigate to http://webcart.local in your browser.
In your php.ini file which is located inside of directory “C:\xampp\php” in case of XAMPP, uncomment these lines if commented:
For example:
;extension=php_openssl.dll
is commented. Remove ; to uncomment it.
extension=php_openssl.dll
php.ini
curl.cainfo=“PATH_TO\cacert.pem”
extension=php_openssl.dll
openssl.cafile=“PATH_TO\cacert.pem”
max_execution_time=120
upload_max_filesize=50M
post_max_size=50M
“cacert.pem” is provided inside of the folder named “guide/certificates” in the package. You may place it inside of xampp installation directory and get its path.
Now, open XAMPP and restart Apache server. Then, navigate to http://webcart.dev in your browser. After, you can login with username/email and password.
Make sure that PHP Version is greater than or equal to 5.6.4
php >= 5.6.4
Step 1. Let’s say you have www/ directory in your server, which is accessible to public via domain.
For example:
/Users/weblizar/www/
is served from https://web-cart.com
Create a new directory at the same level /www. For example, the directory which you have created is “webcart”.
/Users/weblizar/webcart/
Step 2. Copy “webcart.zip” and paste it inside “/webcart” directory.
/Users/weblizar/webcart/webcart.zip
Then, extract “webcart.zip” inside “/webcart” directory. Here, it is not accessible to the web.
“webcart.zip” is provided inside of the folder named “webcart” in the package.
Step 3. Cut all content inside the “/webcart/public” directory to “www/” directory.
For example:
/Users/weblizar/webcart/public/index.php to /Users/weblizar/www/index.php
Similarly, cut all other files inside:
/Users/weblizar/webcart/public/ to /Users/weblizar/www/
Step 4. Delete public directory which is now empty “/webcart/public”. Later, we will create symbolic link of this.
Step 5. Modify these two lines of “index.php” in /Users/weblizar/www/index.php to update the path.
require __DIR__.'/../webcart/bootstrap/autoload.php';
$app = require_once __DIR__.'/../webcart/bootstrap/app.php';
Step 6. Create a new symbolic link for the target /Users/weblizar/www directory using the command:
> ln -s /Users/weblizar/www /Users/weblizar/webcart/public
Here, the symbolic link is “/Users/weblizar/webcart/public” and the target is “/Users/weblizar/www”.
Also, to create or update a symlink, you can use the command:
> ln -sf /Users/weblizar/www /Users/weblizar/webcart/public
Step 7. Configure database connection in “.env” file located at /Users/weblizar/webcart/.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_webcart
DB_USERNAME=root
DB_PASSWORD=
Step 8. Provide recursive permissions to these:
> chmod -R 777 /Users/webcart/storage/framework
> chmod -R 777 /Users/webcart/storage/logs
> chmod -R 777 /Users/webcart/bootstrap/cache
> chmod -R 777 /Users/webcart/config
> chmod -R 777 /Users/www/public/img
> chmod -R 777 /Users/www/public/css/custom
> chmod -R 777 /Users/www/public/resources
Step 9. Using SSH to your server, navigate to /Users/weblizar/webcart/ and run
command:
> php artisan webcart:install
Provide email, username and password for Super Admin and confirm. Subsequently, it will generate APP KEY, perform database migration and seeding.
You can also do this by simply running command:
> php artisan key:generate
After, you can import “laravel_webcart.sql” to your database using phpmyadmin. The default username for Super Admin is “admin” and default password is “admin”. You can change these credentials later.
“laravel_webcart.sql” is provided inside of the folder named “guide” in the package.
Wait for installation to finish. After, you can navigate to https://web-cart.com in your browser. After, you can login with username/email and password.
You need to have access to php.ini file in your server to set these if not set already, then uncomment these lines if commented:
For example:
;extension=php_openssl.dll
is commented. Remove ; to uncomment it.
extension=php_openssl.dll
php.ini
curl.cainfo=“PATH_TO\cacert.pem”
extension=php_openssl.dll
openssl.cafile=“PATH_TO\cacert.pem”
extension=php_openssl.dll
max_execution_time=120
upload_max_filesize=50M
post_max_size=50M
“cacert.pem” is provided inside of the folder named “guide/certificates” in the package. You may place it in your server and get its path.
To turn off debugging, open “config/app.php” and search for this line:
'debug' => env('APP_DEBUG', false),
Change it to:
'debug' => false,
To set environment to production, open “config/app.php” and search for this line:
'env' => env('APP_ENV', 'local'),
Change it to:
'env' =>'production',
and so on.
You can access business settings from admin panel. For that, you need to login with an account having permission to access business settings. Next, you can navigate to ‘Manage’ > ‘Settings’ > ‘Business’.
– “App Name” – will be used at the time of sending emails.
– “Timezone” – represents application’s timezone.
– “Currency” – this should be set only one time. Also, currency conversion of your product’s price will not be done if changed. For this reason, this should not be changed.
– “Meta title”, “Meta description”, “Meta keywords”
– “Google Analytics Script”
If “Meta title” is unset, then “App Name” will be used.
Navigate to ‘Manage’ > ‘Settings’ > ‘Overview’. Here, you will find:
– “Enable Maintenance Mode” – if maintenance mode is enabled, then only staff with any role can access admin panel. Also, you can login using using https://web-cart.com/login.
– “Contact Email” – to be appeared in footer.
– “Logo Name” – to be appeared in top navigation.
– “Social Links” – to be appeared in footer.
Tax / Shipping:
– “Tax Rate (in %)” – applies to total order value.
– “Shipping Cost” – applies to total order value.
– “Shipping Cost applies below price” – applies only if total order value is below this price value.
For example:
If total order value is 200, “Shipping Cost” is 100 and “Shipping Cost applies below price” is 499, then total will be 300 after applying shipping cost.
– “Enable Table Data Export” – allows data-tables to be exported to PDF, CSV, Excel, Print etc.
– “Enable Google Recaptcha” – enable “Google Recaptcha” validation when signing up.
Also, you will need to provide “Public Key” or “Site Key” and “Private Key” or “Secret Key”.
Here, you can customize email templates for various emails such as for “Order Placed”, “Payment Failed” etc.
You can select from “SMTP” or “Mailgun” as email carrier.
If you select “Mailgun”, then you will need to provide “Mailgun Domain” and “Mailgun Secret”.
If you select “SMTP”, then you will need to provide “Mail Host”, “Mail Port”, “Mail Encryption”, “SMTP Server Username” and “SMTP Server Password”.
For example:
If you want to use gmail as your email carrier, then “Mail Host” will be “smtp.gmail.com”, “Mail Port” will be “587”, “Mail Encryption” will be “tls”, “SMTP Server Username” will be your gmail account’s email address and “SMTP Server Password” will be your gmail account’s password. Also, you will need to enable less secure app from:
https://myaccount.google.com/lesssecureapps?pli=1.
Webcart supports these payment methods: PayPal, Stripe, Razorpay and Instamojo. Also, you can enable or disable them.
– “PayPal Payment” – Enable / Disable PayPal Payment Method.
Also, you will need to provide “API Username”, “API Password” and “API Secret”.
– “Stripe Payment” – Enable / Disable Stripe Payment Method.
Also, you will need to provide “Stripe Key” and “Stripe Secret”.
– “Razorpay Payment” – Enable / Disable Razorpay Payment Method.
Also, you will need to provide “Razorpay Key” and “Razorpay Secret”.
– “Instamojo Payment” – Enable / Disable Instamojo Payment Method.
Also, you will need to provide “Instamojo API Key” and “Instamojo Auth Token”.
There are two ways to collect subscribers. First, you can collect and view subscribers from the application itself. Second, you can use “MailChimp” instead. If you enable “MailChimp Subscription”, then list of subscribers will be managed by “MailChimp”. Also, you will need to provide “MailChimp API” and “MailChimp List ID”.
Moreover, you can import subscribers From CSV File.
For example, “data.csv” is the file you can import which contains:
Email, Status
test1@gmail.com, Confirmed
test2@gmail.com, Pending
If user subscribes from storefront, then confirmation email will be sent. In other words, subscriber’s email has to be verified or confirmed.
Finally, you can choose email carrier and customize the subscription confirmation email that will be sent to a user.
This allows current user to edit profile. Also, “Super Admin” is allowed to change location from here. If email is change, then email verification link will be sent to the user and, it has to be verified.
Navigate to ‘Manage’ > ‘Locations’ > ‘View Locations’. Here, you can find current locations of stores. By default, there is only one location. Furthermore, you can edit its name, address and contact number.
If your business needs more than one location, then you can go to ‘Manage’ > ‘Locations’ > ‘Add Location’ to add a new location for your business. Later, you can assign staff to this location with access control.
Navigate to ‘Manage’ > ‘Staff’ > ‘Roles’ > ‘View Roles’. Here, you can find all the roles that you can assign to your staff. There are certain permissions attached to a role which can be customized.
If you want to add more roles with some access control, then you can go to ‘Manage’ > ‘Staff’ > ‘Roles’ > ‘Add Role’. Next, you will need to provide name of role and permissions which are available to this role. Later, you can assign this role to a staff by editing staff’s profile.
To add staff to a store, you will need to assign store’s location or simply “Location” to a staff.
Navigate to ‘Manage’ > ‘Staff’ > ‘Add Staff’. Here, you can add new staff. Also, note that the location of new staff will be determined by location of admin who is adding that staff. Means, you will first need to change your own location which you can do either from ‘Manage’ > ‘Dashboard’ > ‘Select Location’ or by simply editing your profile from ‘Manage’ > ‘Settings’ > ‘Profile’. After that, whenever you add new staff, they will be assign to your current store’s location.
Changing location will filter the admin panel’s data based on the location.
You can login with username or email and password. Also, when signing up, the email has to be verified. The email verification link will be sent using email carrier that is set in email configuration. So, make sure to configure SMTP or Mailgun in Email Settings for sending emails. Moreover, you can enable or disable Google Recaptcha.
Customers can check the current status and overall status of their orders. Also, they can print invoices. And, for downloadable products, customers can access it only after payment is made.
Customers can edit or remove their shipping addresses.
Customers can edit their profiles. Also, if the email is change, then it has to be verified.
Users can browse products by store’s location. Also, this will filter products, categories, brands and banners, coupons, discounts associated with the location.
Products can be filtered by category, brand, specification and price range. Also, they can be sorted by price, popularity, ratings and reviews.
The customer will be prompted to provide a new shipping address or select an existing shipping address at the time of checkout.
Following payment methods are available:
Cash on Delivery (COD)
Paypal – Currency will be converted to USD using Google Finance Converter.
Stripe – Currency will be converted to USD using Google Finance Converter.
Razorpay – Currency will be converted to INR using Google Finance Converter.
Instamojo – Currency will be converted to INR using Google Finance Converter.
Deal can be created from the admin panel. Also, it will appear in order according to its priority.
There are positions where you can place promotional banners in these pages.
Home Page Banners – Main Slider or On Right Side
Category Page Banners – Main Slider or Below Filters
Brand Page Banners – Main Slider or Below Filters
There are various page sections available in different pages which can be customize from the admin panel.
When you want to add a new product. First, you need to make sure that category, brand, specifications are all set.
You can add a new category from ‘Manage’ > ‘Products’ > ‘Categories’. Webcart supports multi-level categories. Also, if “Parent Category” is set to “None”, then it is a root category. Furthermore, you can select specifications which will allow filtering of products by specification in category page.
You can add a new brand from ‘Manage’ > ‘Products’ > ‘Brands’.
You can add a new specification from ‘Manage’ > ‘Products’ > ‘Add Specifications’. Also, users can filter products according to specification.
To add a new product to a store, navigate to ‘Manage’ > ‘Products’ > ‘Add Product’.
Moreover, for downloadable product, access to this file will be given after payment is done. Also, Downloadable file is required to be in “zip”, “rar” or “7z” format.
– “Virtual Product” – If you don’t check this, then you must provide “Number in Stock” and “Maximum allowed Quantity per Order”.
– “Featured Image” – can be added at the time of adding a new product.
– More images for a product can be added only after the product is added. Means, by editing a product.
– “Maximum allowed Quantity per Order” – User can not add more than this quantity of a product per order.
To view customer reviews, navigate to ‘Manage’ > ‘Customers’ > ‘Reviews’. Reviews are marked as pending by default and need to be
approved. Also, only one review is allowed for a product per user. However, user can edit the review.
Navigate to ‘Manage’ > ‘Orders’ > ‘View Orders’. Here, you can view invoices and set status and current status of orders.
Set “Status” to “Processed” only when order is delivered and then invoice can be viewed. This can’t be reversed means you can’t set “Status” back to “Pending”.
Navigate to ‘Manage’ > ‘Customers’ > ‘View Customers’. Here, you can edit customers, shipping addresses and view their orders.
Navigate to ‘Manage’ > ‘Deals’ > ‘Add Deal’. Here, you can add deal and set its priority. Means, if Deal1’s priority is 1 and Deal2′ priority is 2, then Deal1 will appear first.
Navigate to ‘Manage’ > ‘Orders’ > ‘Coupons’ > ‘Add Coupon’. Coupons are applicable to orders. Also, you can set order’s amount above which coupon is valid and validity period.
Navigate to ‘Manage’ > ‘Products’ > ‘Discounts’. Here, you can set discount to products by percentage. Also, you can set its validity period.
Navigate to ‘Manage’ > ‘Report’ > ‘Product Sales Report’. Here, you can view product sales report in a period. First, select a product, period, group and then click “GET SALES REPORT”.
Period available: Today, Yesterday, Last 7 Days, Last 15 Days, Last Month, Last 6 Months, Last Year, Current Month and Current Year.
Group available: Year, Month and Day.
Also, this will be filtered by location.
Navigate to ‘Manage’ > ‘Pages’ > ‘Add Page’. Here, you can create unlimited pages. Also, this supports images and videos.
There are various page sections available with different positions which you can place in home page, brand page and category page.
Navigate to ‘Manage’ > ‘Deals’ > ‘Banner’. Here, you can add promotional banners to your store. That is, you can set banners on home page, category page and brand page.
Set Banners On Home Page: First, select position which can be Main Slider, Right Side etc.
Set Banners On Category Page: First, select category. Next, select position which can be Main Slider, Below Filters etc.
Set Banners On Brand Page: First, select brand. Next, select position which can be Main Slider, Below Filters etc.
You can apply custom CSS if needed. First, navigate to ‘Manage’ > ‘Settings’ > ‘Custom CSS’. Next, you can select where you want to apply CSS. This can be Store Page, Admin Panel or Login / Signup Pages.
Demo Super Admin : Username : super_admin/123456
Demo Admin Login : Username : userdemo/userdemo
Demo Vendor Login : Username : vendor1/123456
Demo Customer Login : Username : customer1/123456