Ecommerce Website in PHP Laravel with Source Code

A fully functional project based on an ecommerce website that uses PHP Language with Laravel Web Framework. The following Laravel project contains all the essential features that can be used by final-year IT students for their college projects. It has several features that allow users to register and shop online and much more. This system as well as the web application’s concept is all clear. It’s identical to real-world scenarios and well-implemented on it. To download a free ecommerce website project in Laravel with source code files, please scroll down to the bottom of this post for the Download button.

About Point of Sale POS System PHP Project

In particular, this PHP Laravel-based ecommerce website offers an all-encompassing suite. It adeptly handles customer interactions, product inventories, and streamlined sales processes. With meticulous precision, the website meticulously organizes and monitors product catalogs. Alongside their order records, ensuring a comprehensive overview and smooth functionality ( The administrative interface offers extensive control, enabling detailed oversight of product attributes, and facilitating an intuitive and enriching user experience. Notably, its focused approach emphasizes essential functionalities. This project encapsulates pivotal aspects of e-commerce, presenting a comprehensive project that underscores the fundamental features of an efficient online shopping experience.

Customer Panel

The customers play an important role in the proper flow of the website. With its unique design and functionality, users can interact with this ecommerce project website much more effectively. This project boasts an interactive and seamless customer panel within its PHP Laravel Ecommerce platform. It places emphasis on hassle-free customer registration, a pivotal requirement for browsing and purchasing across the site. The customer-centric design allows users to explore a wide range of products effortlessly ( Customers can review, add products to wish lists, cart, manage their cart, and track orders seamlessly. This comprehensive panel provides detailed insights into order history, including order statuses, ensuring users remain informed throughout their shopping journey. Moreover, customers can actively track and monitor their orders, providing an enhanced level of transparency and control over their purchases.

Admin Panel

An administrator has full control over the system. At the core of this PHP Laravel Ecommerce project lies a robust admin panel. It serves as the centralized control hub, empowering administrators to manage all facets of the platform effortlessly. From overseeing media, banners, products, categories, and reviews to managing blog posts, brands, and shipping details, this panel offers comprehensive control. Detailed reports and website insights are readily accessible, providing administrators with invaluable data for informed decision-making ( Additionally, an integrated notification system ensures administrators are promptly informed about each received order, facilitating efficient order management.

Featured, Latest, and Hot Products

This PHP Laravel e-commerce project creates a captivating product showcase with the newest, featured, and popular products. Users can navigate through a neatly arranged selection of the top products, which are displayed in categories for effortless exploration. Whether it’s men’s fashion, women’s apparel, or something else entirely, clients can easily find products catered to their preferences thanks to specific sorting options and category-based browsing ( In fact, it relies on the categories handled by the administrator. But as an example, here we mention about men and women’s fashion. The displaying of each object at both its original and discounted pricing adds to the appeal of shopping. The ecommerce website in PHP Laravel offers all these sections for the users to navigate and find something new into it.

Cart and Wish List

One of the important features that belong to an e-commerce website is related to integration or add-to-cart and wish list features. Most e-commerce websites today have these kinds of features for easy user interactions. Just like every other known e-commerce website, this ecommerce project in Laravel also heavily relies on add-to-cart and wish list functions. The project promotes better shopping convenience through the inclusion of these crucial components ( A simplified shopping experience is ensured by registered customers who effortlessly navigate the platform and add desired products to their cart or wishlist. Additionally, the integration of coupon code capability at the checkout stage optimizes the purchasing process by enabling users to take advantage of discounts. Having said that, the system administrator is responsible for handling coupon codes.

Checkouts and Order Details

After getting through the cart management, registered users can only proceed to the checkout page for further processing. There are certain validations set for this specific page. Without logging in, the users won’t be able to access this page. Checkout is still easy to understand but shipping requires logged-in customer information. The website offers flexibility by offering two payment options: card payment and cash on delivery. Before the customer submits an order, the system checks the details. And then marks it as paid status. However, the system will not mark it as paid status for until following the delivery in terms of cash on the delivery method ( The customers can view all their order numbers, dates, quantities, and statuses from their respective dashboards, allowing for effective order tracking and administration.

Product Reviews and Ratings

The platform’s review function supports customer involvement by allowing users to offer insightful feedback. Consumers review items and rate them, helping other customers make well-informed purchases. Product pages are enhanced by the collective reviews, which provide valuable feedback and are clearly displayed on the reviewed products. Only logged-in customers can write reviews on products ( In order to write a review, a customer first should rate the product (from 1 to 5 stars) and then proceed towards writing a review on it. After publishing it, the system gathers and collect all the reviews from that particular product and shows the overall review. Also, the customers can view, edit, delete, and search their respective reviews from their dashboards.

Product Filter

Another important feature of this ecommerce project is related to filtering products. This ecommerce website project in PHP Laravel uses a powerful product filtering system that is highly effective at specific searches for products. Refined searches with options for categories, brands, new additions, and adjustable price ranges are very helpful to users ( personalized product searches get easier with the use of an interactive price range slider, which also provides specific search results based on individual price preferences. Users can simply filter products according to dates, brands, prices, and more. Also, the users can view products on the grid or list views.

Product Management

Before diving into the product management section, it requires a field. An administrator is responsible for the management of product categories as well. Not only that, it can contain a subcategory with all the details. The project gives administrators complete control over platform-wide product management. Adding details like names, categories, descriptions, sizes, stock information, photos, and activation statuses, administrators develop and manage the entire product catalog. In the field of description, the user can add descriptions with their own styles. Meaning with the selection of bold titles, small titles, bullets, number points, and so on ( Additionally, the system requires a field for discount percentage amount, which is reflected in the website’s product price. Before publishing any products, administrators have to indicate which products are hot or featured for better visibility.

Product Order Management

Once the customer passes through successful checkout, the system forwards the order details to the order management section. This section is completely controlled by the admin. The admin can carefully examine and manage all the orders submitted by customers. An admin can view all the details of the order. That includes the customer’s name, order number, quantities, total amounts, discounts, coupon discounts, shipping costs, order status, and more ( From this section, the admin has to change the status of order for efficient processing. Speaking of order status, it refers to an item being in the state of processing, delivered, or canceled. All the actions that the admin takes in terms of order status are viewable from the customer’s order section. This part is also linked with the tracking order page.

Website Settings and User Management

Admins have control over important website settings. Such as configuring phone numbers, emails, addresses, and logos that are displayed in the header and footer of the website. To guarantee a flawless user experience, the user management functionalities include viewing registered users, changing roles, searching for users, updating users, and removing users from the system ( Admin can simply add new users in to the system by providing naming, contact, and password details. With the selection of desired roles of it being either admin or customer.

Coupon, Brand, and Shipping Management

As mentioned earlier, this ecommerce website project in PHP Laravel does contain coupon discount features. It allows the customers to get a certain amount of discount on special occasions. Coupons can be of two kinds: specified amount or percentage of discounts. Administrators are responsible for coordinating coupons to impact discounts and rewards for customers. The way it works is that the customer just needs to enter a valid coupon code during checkout, and as a result, the system deducts a certain amount from the total product amount ( Shipping management determines shipping costs and preferences for a smooth customer experience while brand management enables efficient product filtering. In order to add shipping details, the admin has to provide the shipping name, details, and total amount for it.

Blog Management

Apart from all these ecommerce side of things, the website also features a blog section. Where the admin can share their news blog and the customers can rate it, and comment on it. And also, share the blog. Administrators select a variety of blog posts to enhance user interaction ( They upload images, produce content, tag blogs, and create content, all of which contribute to a flexible content repository that improves user engagement. This whole blog management thing works similarly to the content management system. The admin can manage blog categories, tags, and comments of it. Each of the blogs will have its own blog title, image banner, heading, body paragraphs, and tags. On top of that, the users can also view blogs through their category or filter blogs from the tags.

Notifications and Earnings Overview

The system administrator receives notifications of all the ongoing actions. Administrators can efficiently supervise user engagement and platform activities thanks to integrated notifications, which guarantee timely alerts on received orders, reviews, and comments. With this, the admin can check up on every review, order, and comment. On top of that, the admin can also view their overall earnings from the dashboard. It presents the total number of orders, products, users, blogs, new products, processing products, and so on. With that, the system also generates overall earnings every month. Plotted graphs in the admin dashboard give detailed earnings overviews and shed light on monthly earnings trends. An administrator can also view a summary of records for registered users over the previous seven days, though this feature is not very important. This is displayed as a pie-chart diagram.

Together, these dynamic features improve user experiences, increase administrative control, and establish an engaging online shopping environment for the PHP Laravel Ecommerce project. Last but not least, a clean and simple UI is presented with various color combinations for a greater user experience while using this E-Commerce Website Project in PHP. For its UI elements, a free open-source CSS framework; Bootstrap is on board. Presenting a new ecommerce website Project in PHP Laravel which includes a customer panel with an admin panel. That too contains all the essential features to follow up and is a knowledgeable resource for learning purposes.

Available Features:

  • Customer Panel
  • Admin Panel
  • Top, Featured Products
  • Product Filter
  • Product Discounts
  • Coupon Code
  • Add to Cart
  • Add to Wish List
  • Order Tracking System
  • View Order
  • View Blogs
  • Comment on Blogs
  • Rate and Review Products
  • Manage Media, Banner
  • Product Category Management
  • Product Management
  • Order Management
  • Product Brand and Shipping Management
  • Upload Manager: Media Files
  • Website Settings
  • User Management
  • Coupon Management
  • Review and Comments Management
  • Notification for Admin
  • Earnings Overview
  • Profile Settings
Project Name:Ecommerce Website in PHP Laravel
Technologies Used:PHP with Laravel Web Framework
Developer:Prajwal Rai
Ecommerce Website PHP Laravel Project Overview

Instructions: How to Run?

  • After you finish downloading the project, unzip the project file.
  • Open the project folder, check for the env file, and update the database credentials.
  • Create a MySQL database with the name provided inside the env file.
  • Then, open the project in the Terminal or Command Prompt.
  • Install node packages: npm install
  • Install the composer dependencies: composer install
  • Link the storage: php artisan storage:link
  • For the database, you can either import the given SQL file or start a new one following the command lines.
  • Now migrate the tables: php artisan migrate
  • Run seeder: php artisan db:seed
  • Then generate the key: php artisan key:generate
  • And finally, run the project: php artisan serve
  • It will start the application and give you a URL.
  • At last, open the URL in your favorite browser; we recommend using Google Chrome.
  • All the login details are provided inside the project folder[text files], check that out and enter them in order to use it.

And there you have it, a full setup of the e-commerce website Project in PHP Laravel. First, make sure you have Composer and Node.js installed on your machine. For Laravel projects, PHP Version 7 or more is required because the composer does not operate with the old PHP version. As a result, you’ll need to manage your PHP version (only if you’re using the old version) at the moment. Also, Download the Free ecommerce project in Laravel Source Code – So, this ecommerce Laravel project is a full project for all beginner levels that broads vast knowledge into such PHP web applications. In conclusion, this whole Laravel project with free source code is an absolute project and a meaningful way for users to learn and explore more about it.

Free Download Ecommerce Website Project in PHP Laravel with Source Code:
Click the Download Button Below to Start Downloading

Note: Only for Educational Purposes


  1. Hello, currently I cannot install your website on my computer because of the error below. I hope you can help me fix this error. Thank you:

    “”Warning: require(D:\SQL\XamPP\htdocs\webphp\Ecommerce-Laravel/vendor/autoload.php…………

    1. Fatal error: Uncaught Error: Class “Illuminate\Foundation\Application” not found in C:\xampp1\htdocs\Ecommerce-Laravel\bootstrap\app.php:14
      Stack trace:…………………

      1. Make sure you have run composer install in your project directory to install Laravel’s dependencies. Also, make sure that there are no issues with your Composer installation.

  2. C:\xampp\htdocs\Ecommerce-Laravel>php artisan db:seed
    Seeding: UsersTableSeeder


    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘[email protected]’ for key ‘users_email_unique’……………………….

    1. This error suggests that you are trying to insert a user with an email address that already exists in the database and this is what caused the problem and suggests that you check the seeding process to avoid inserting duplicate emails. Also, make sure the email column of the users table is unique.

  3. I have few questions.

    1) Do indivisual product options store its own quantity? For example, T-shirt (option color:red,blue,orange / size:s,m,l) so 1. Red.s = stock quantity 2. Red.m 3) Red.L 4. Blue.s … so forth.

    2) Is there validation for the stock availabilty in cart and checkout page? For example, user has added product previously and the product is no longer in stock, so should display “out of stock” and remove it from cart when enter checkout page.

      1. when i try to migrate it says ‘nothing to migrate’,also when i inside admin panel and upload the image it still not work

  4. Boss i am facing this error . what is the cuz ? :-

    Forbidden 403
    Access to this resource on the server is denied!

  5. I’m having trouble with the php version requiring php ^7.3 but my php version (8.2.12) does not satisfy that requirement as per the error on terminal

  6. Please help me to address this errors

    Problem 1 – Root composer.json requires php ^7.2.5 but your php version (8.1.25) does not satisfy that requirement.
    Problem 2 – Root composer.json requires laravel/socialite ^4.4 -> satisfiable by laravel/socialite[v4.4.0, v4.4.1]. – laravel/socialite[v4.4.0, …, v4.4.1] require php ^7.1.3 -> your php version (8.1.25) does not satisfy that requirement.

    1. That’s due to your latest version of PHP.
      For now you can try updating the composer.json file to something like this:
      “require”: {
      “php”: “^7.3|^8.0”,
      “laravel/framework”: “^8.0”,
      …… <<**other dependencies**>>

      and then run the command “composer update”

  7. Trying to get property ‘title’ of non-object (View: D:\laragon\www\Ecommerce-Laravel\resources\views\backend\comment\index.blade.php)
    I got this error. Please help me

    1. While the error seems related to accessing a property on a non-object, it might not necessarily be a database connection issue. Double-check that your database is properly connected and the data you’re working with contains the expected properties.

  8. I tried all the options that were written in the messages, nothing helped
    Problem 1
    – Root composer.json requires php ^7.2.5|8.0 but your php version (8.2.12) does not satisfy that requirement.
    Problem 2
    – Root composer.json requires laravel/socialite ^4.4 -> satisfiable by laravel/socialite[v4.4.0, v4.4.1].
    – laravel/socialite[v4.4.0, …, v4.4.1] require php ^7.1.3 -> your php version (8.2.12) does not satisfy that requirement.
    Problem 3
    – laravel/ui[v2.1.0, …, v2.4.1] require php ^7.2.5 -> your php version (8.2.12) does not satisfy that requirement.
    – illuminate/support[v7.0.0, …, v7.28.4] require php ^7.2.5 -> your php version (8.2.12) does not satisfy that requirement.
    – laravel/framework[v8.0.0, …, v8.11.2] require php ^7.3 -> your php version (8.2.12) does not satisfy that requirement.
    – Only one of these can be installed: illuminate/support[dev-master, v4.0.0-BETA2, …, 4.2.x-dev, v5.0.0, …, 5.8.x-dev, v6.0.0, …, 6.x-dev, v7.0.0, …, 7.x-dev, v8.0.0, …, 8.x-dev, v9.0.0-beta.1, …, 9.x-dev, v10.0.0, …, 10.x-dev, 11.x-dev], laravel/framework[v8.0.0, …, 8.x-dev]. laravel/framework replaces illuminate/support and thus cannot coexist with it.
    – laravel/ui[v2.5.0, …, 2.x-dev] require illuminate/support ^7.0 -> satisfiable by illuminate/support[v7.0.0, …, 7.x-dev].
    – Root composer.json requires laravel/ui ^2.1 -> satisfiable by laravel/ui[v2.1.0, …, 2.x-dev].
    – Root composer.json requires laravel/framework ^8.0 -> satisfiable by laravel/framework[v8.0.0, …, 8.x-dev].

    1. It seems you’re facing PHP version compatibility issues. It suggests that your PHP version (8.2.12) doesn’t meet the requirements specified in the project’s composer.json file. You can consider updating your PHP version to meet the specified requirements or adjust the Laravel and related package versions in your composer.json file to versions compatible with your current PHP version.

  9. Image is Not showing Please help ….
    if possiable please make a video realted this project to how to link storage for this specific Project …

      1. from root folder run the following command one by one

        cd public

        rm storage


        php artisan storage:link

        Pictures should be available

  10. C:\xampp\htdocs\Ecommerce-Laravel>php artisan storage:link
    PHP Warning: require(C:\xampp\htdocs\Ecommerce-Laravel/vendor/autoload.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\Ecommerce-Laravel\artisan on line 18
    PHP Fatal error: Uncaught Error: Failed opening required ‘C:\xampp\htdocs\Ecommerce-Laravel/vendor/autoload.php’ (include_path=’.;C:\php\pear’) in C:\xampp\htdocs\Ecommerce-Laravel\artisan:18
    Stack trace:
    #0 {main}
    thrown in C:\xampp\htdocs\Ecommerce-Laravel\artisan on line 18

    1. It seems that the required autoload.php file is not found in the specified path. This issue is likely related to the missing vendor directory or incomplete installation of dependencies.
      Please follow all the installation guidelines provided in this post page.

  11. I have been through all the steps, the project is online, but I cannot access the admin panel. It’s not in the database.

  12. we have lot of errors with images
    and i try the following steps
    and i try : php artisan storage:link
    – but it doesn’t work , so you have to make a video to expaline all this please ?

    1. Try this solution provided by one of our website visitor “Life Gate”:
      from root folder run the following command one by one

      cd public

      rm storage


      php artisan storage:link

Leave a Reply

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