Logo Logo
EN

A sports equipment e-commerce website with full authentication, product management, shopping cart, and ZaloPay payment integration.

SportKing

Overviewh2

SportKing is a full-featured e-commerce website for sports equipment for School Projects (with 4 members), built with Pure PHP MVC architecture. It supports multiple user roles (Admin, User) and includes complete shopping cart, order management, and ZaloPay payment integration.

Key Featuresh2

Authentication & Usersh3

  • Registration and login with Session
  • Role-based access: Admin, User
  • Profile and shipping address management
  • Password recovery via email (PHPMailer)

Product Managementh3

  • CRUD products with pagination
  • Category management
  • Brand management
  • Product variants (Size, Color, Variant)
  • Search and filter products

Shopping Cart & Ordersh3

  • Add/remove products from cart
  • Update quantity with stock validation
  • Apply discount codes (Voucher)
  • ZaloPay payment integration
  • Order status tracking

Content Managementh3

  • Promotional banners
  • Blog/News articles
  • Product comments and reviews

Admin Panelh3

  • Statistics dashboard
  • Order management
  • User management
  • Voucher management

Screenshotsh2

SportKing Screenshot 2 SportKing Screenshot 3 SportKing Screenshot 4 SportKing Screenshot 5 SportKing Screenshot 6 SportKing Screenshot 7 SportKing Screenshot 8

Tech Stackh2

Backendh3

  • PHP 7.4+ (Pure PHP MVC)
  • MySQL
  • PDO Database Connection
  • PHPMailer

Frontendh3

  • HTML5, CSS3
  • JavaScript (Vanilla)
  • Responsive Design

Paymenth3

  • ZaloPay Integration

Quick Starth2

Terminal window
# Clone repository
git clone <repository-url>
cd sportking
# Create database
mysql -u root -p -e "CREATE DATABASE sportking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# Configure database in app/configs/Database.php
# Setup Apache Virtual Host
# Access: http://sportking.test

Routes:

  • Homepage: ?controller=home
  • Product Detail: ?controller=home&action=product_detail&product_id=1
  • Cart: ?controller=cart
  • Admin Dashboard: ?controller=dashboard