This project is a PHP-based e-commerce platform built to support online shopping in Nigeria. It allows customers to browse products, add items to their cart, and make secure online payments. The platform provides an easy-to-use interface for buyers while giving sellers tools to list and manage their products.
# ChainCart - Blockchain E-commerce Platform
A professional e-commerce web application with smart contract integration, featuring a complete frontend, backend, admin panel, and blockchain functionality.
## Features
- Complete e-commerce functionality (products, cart, checkout)
- User authentication and profile management
- Wishlist and product reviews
- Order tracking and history
- Admin panel with dashboard and analytics
- Smart contract integration with Ethereum
- MetaMask wallet connection
- Naira currency support
## Prerequisites
- Node.js (v14 or higher)
- npm (v6 or higher)
- MetaMask browser extension
- Infura account for Ethereum node access
## Installation
1. Clone the repository:
```bash
git clone
cd E-commerce_chain
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables:
- Copy `.env.example` to `.env`
- Update the values with your Infura project ID and private key
## Running Locally
1. Start the development server:
```bash
npm start
```
2. Open your browser to `
localhost`
## Connecting to MetaMask
1. Install the MetaMask browser extension from metamask.io
2. Create or import a wallet
3. Switch to the Sepolia test network (recommended for testing)
4. Get test ETH from a faucet like Sepolia Faucet
5. Click "Connect Wallet" on the website navigation bar
## Smart Contract Integration
### Smart Contract Overview
The platform uses a Solidity smart contract for secure, transparent transactions. The contract handles:
- Product listings
- Order management
- Payment processing
- Dispute resolution
- Fund escrow
### Wallet Connection
Users connect their MetaMask wallet through the "Connect Wallet" button in the navigation bar. This:
- Requests account access from MetaMask
- Initializes a Web3 instance
- Retrieves the user's account address
- Sets up event listeners for account changes
### Purchase Process
When a buyer purchases a product:
1. The buyer connects their wallet
2. The frontend calculates the …