Awesome Open Source
Awesome Open Source

Advanced PHP 7 eCommerce Website

An advanced and complete PHP 7 eCommerce website along with MySQL database and Admin interface.

Table of Contents

Getting Started

These instructions will get your copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


You will need the following running on your local development machine.

  • Apache or Nginx
  • PHP 7.*
  • MySQL or MariaDB


Follow the instructions below and your website will be up and running in a few minutes.

Installing required packages

Before doing anything you will need to install the required packages using composer. Running composer installs the dotenv project which allows you to configure your website using a .env file.

$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 1 install, 0 updates, 0 removals
  - Installing vlucas/phpdotenv (v2.5.1): Downloading (100%)
Generating autoload files
> /bin/cp config/ config/.env
> /bin/cp config/ .htaccess

Create MySQL/MariaDB Database

Using whatever way you do, you need to create a new MySQL database. When creating the database, call it ecommerce so that you can import the SQL queries successfully into your new database.

To populate the database with data, there is a file in the config folder called /config/db_dump.sql. You need to import this SQL file into the database using your preferred method. I recommend using phpMyAdmin to import the database queries but if you use a command line you would need to execute the following command.

$ mysql -u DB_USERNAME -p ecommerce < ./config/db_dump.sql

Be sure to replate DB_USERNAME with the name of your MySQL username.

The next step is to populate the configuration files with your new database connection details.

Update Config Variables

After you've run composer install you will see a file called /config/.env in the config directory. You need to populate this file with your database connection settings.

Make sure you uncomment these lines and populate it with your database connection details:

# Database configuration
export DB_HOSTNAME='localhost'
export DB_USERNAME='root'
export DB_PASSWORD='pass'
export DB_DATABASE='ecommerce'
export DB_PORT='3306'
# export DB_SOCKET=''

There are many other settings in the /config/.env file you are most likely going to want to set. At the very least, you should update the General Configuration settings to your own environment.

These are the settings you can configure for your store.

  • General Configuration
  • Company Information
  • Database configuration
  • Google Maps API Key
  • Social Media Profiles

Run Webserver

Once you have the database up and running you can start the webserver (see command below) and you should see your newly created website running at http://localhost:8000.

$ php -S localhost:8000
[Fri Aug  7 10:43:59 2020] PHP 7.4.8 Development Server (http://localhost:8000) started
[Fri Aug  7 10:44:02 2020] [::1]:51358 Accepted


If you find this project valuable, please consider giving us a small donation to help keep the project alive. We can really do with the support to help us continue to maintain this project.


Please read the file for details on how you can get involved in the project as well as the process for submitting bugs and pull requests.

Code of Conduct

Please read the file for the guidelines that govern the community.


We use Semantic Versioning for software versions of this project. For a list of all the versions available, see the tags and releases on this repository.


View the file for a detailed list of changes, along with specific tasks completed for each version released to date.


Also see the list of contributors who have participated in this project.


This project is licensed under the GNU Affero General Public License License. See the LICENSE file for full details.


Special thanks go out to the following people and projects who have helped in some way to make this project a reality.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (70,316
php7 (261
ecommerce (224
ecommerce-platform (58
ecommerce-framework (16