A comprehensive E-Commerce web application built with PHP using a custom MVC architecture. This project provides a complete shopping experience for users and a robust administrative dashboard for store management.
The project aims to provide a flexible and user-friendly e-commerce platform, allowing merchants to showcase their products and customers to browse, add items to a cart, and complete orders securely.
| Feature | Description |
|---|---|
| Custom MVC Architecture | Professional code organization separating Business Logic (Model), Presentation (View), and Control (Controller). |
| Advanced Cart System | Add, update, and remove products from the cart with real-time calculation of totals. |
| Admin Dashboard | Integrated interface to manage products, categories, orders, and users. |
| Order Management | Track order status from "Pending" to "Completed" with full order details. |
| Auth & Permissions | User registration, login, and role-based access control (Admin / Customer). |
| Security | CSRF protection, password hashing, and PDO prepared statements to prevent SQL injection. |
| RESTful API | Simple JSON endpoints for retrieving products and orders data. |
- Backend: PHP 8.x (or 7.4+).
- Database: MySQL / MariaDB.
- Frontend: HTML5, CSS3, JavaScript (Vanilla JS).
- Styling: Custom Responsive CSS.
- Database Driver: PDO (PHP Data Objects).
- Local server environment like XAMPP, WAMP, or MAMP.
- Git installed (optional).
Clone the repository or download the ZIP file:
git clone https://github.com/EsamAdelAlselwi/E-Commerce-Project.git
cd E-Commerce-Project- Open phpMyAdmin (usually at
http://localhost/phpmyadmin). - Create a new database named
ecommerce_store. - Select the database and go to the Import tab.
- Choose the
ecommerce_store.sqlfile from the project root and click Go.
- Rename
env.exampleto.env(or ensure it exists). - Open
config/database.phpandconfig/app.phpto verify settings:DB_HOST:localhostDB_NAME:ecommerce_storeDB_USER:rootDB_PASS: (Leave empty for XAMPP)BASE_URL:http://localhost/E-Commerce/public/(Adjust to match your local path).
Open your browser and navigate to:
http://localhost/E-Commerce/public/
The following images showcase the main interfaces of the project:
| Home Page | Admin Dashboard |
|---|---|
![]() |
![]() |
| Product Details | Shopping Cart |
|---|---|
![]() |
![]() |
| Checkout Page | Order Management |
|---|---|
![]() |
![]() |
This project is licensed under the MIT License - see the LICENSE file for details.
Esam Adel Alselwi
- GitHub: @EsamAdelAlselwi





