Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

VortexMarket - Complete Multi-Vendor eCommerce Marketplace

VortexMarket is a fully functional, performance-optimized, and aesthetically premium Multi-Vendor eCommerce Marketplace built natively for local execution with XAMPP (Apache + PHP + MySQL). It runs directly on PHP 8+ and standard SQL without requiring external Node.js, React, npm, Composer, or heavy MVC frameworks.


🚀 Key Features

  • Dynamic Website Branding: Admins can customize the Website Logo and Browser Tab Favicon directly from the configurations panel, with live storefront rendering.
  • Social Media Profiles Manager: Setup and manage multiple social media profiles in the Admin Panel which automatically render in the global footer.
  • Trending Searches Manager: Configure comma-separated trending searches in the Admin Panel to dynamically display search pills in the sub-navigation bar.
  • Category CRUD Directory: Full Category Management system allowing administrators to create, edit, delete, set parent category trees, and configure custom Bootstrap Icon classes (with helper links to the official Bootstrap Icons database).
  • AJAX Newsletter Subscriptions: Fast subscriber enrollment with dynamic toast alerts, accompanied by an Admin panel containing a subscriber list, removal tool, and a one-click clipboard email exporter.
  • Unified Search & Filters: Autocomplete live AJAX-search, with sidebars filtering products by category parentage, price ranges, brand, vendor, and stock levels.
  • Advanced Checkout & Billing System: Full shopping cart handling, voucher discount codes, dynamic invoice generation, and custom simulations for multiple payment gateways (Credit Card, PayPal, RazorPay, UddoktoPay, and AmarPay).
  • Multi-Vendor Wallets & Payouts: Splits orders automatically, credits merchant wallets after deducting admin commission, and pre-fills payout forms with the vendor's pre-configured payout method.
  • Global & Vendor SEO Configuration: Dedicated SEO meta title/description inputs for global branding, vendor store profiles, and individual product listings.
  • Dynamic Stepper Order Tracking: Interactive visual tracker displaying current parcel shipping states (Pending -> Processing -> Shipped -> Delivered).
  • Unified Authentication: Split-role logins redirecting users, vendors, and admins to their respective dashboards, supporting both raw credentials and auto-username shorthand mappings.

🛠️ Technology Stack

  • Backend: PHP 8+ (PDO Object Wrapper, Session API)
  • Database: MySQL / MariaDB
  • Frontend: HTML5, CSS3 (Vanilla Custom styles), Bootstrap 5, Javascript, jQuery, AJAX
  • Server Stack: Apache (XAMPP compatibility out-of-the-box)

📂 Folder Structure

multivendor/
├── admin/               # Administrator panel dashboards
├── ajax/                # AJAX endpoints (search, cart updates, newsletters)
├── assets/              # Static stylesheets, custom JS widgets, and images
├── config/              # Dynamic BASE_URL configurations
├── customer/            # Buyer panel dashboards
├── database/            # Database schema.sql seeding definitions
├── includes/            # Page headers, navbars, footers, helper libraries
├── uploads/             # Dynamic logo, favicon, product, and banner uploads
├── vendor/              # Merchant panel dashboards
├── index.php            # Main homepage
├── product.php          # Interactive detail page
├── category.php         # Sidebar filters archive
├── cart.php             # Shopping Cart calculations
├── checkout.php         # Shipping selectors & billing
└── README.md            # Installation Guide

💻 Local Deployment Setup (XAMPP)

Step 1: Clone or Place files

Copy the entire Multi_Vendor_Mahidul project folder into your XAMPP installation directory under: C:\xampp\htdocs\Multi_Vendor_Mahidul

Step 2: Database Initialization

  1. Start your XAMPP Control Panel and enable Apache and MySQL.
  2. Navigate to your browser and access: http://localhost/phpmyadmin.
  3. Create a new empty database named multivendor_db with collection collation set to utf8mb4_general_ci.
  4. Click the Import tab, select the schema file at: C:\xampp\htdocs\Multi_Vendor_Mahidul\database\schema.sql
  5. Click Import at the bottom to create the structured tables and populate pre-seeded records.

Step 3: Run the Site

Open your browser and navigate to: http://localhost/Multi_Vendor_Mahidul/index.php


🔑 Preseeded Testing Credentials

All password values are prehashed with standard Bcrypt. You can log in using either the email or the easy username mappings:

Account Type Email / Username Password Role Permissions
System Administrator admin or admin@marketplace.com admin Global approvals, settings configs
Merchant Vendor vendor or vendor@techhub.com vendor Product listings uploads, cashouts
Customer Buyer customer or customer@marketplace.com customer Booking wishlists, placing orders

🛡️ Security Best Practices

  • CSRF Protection: All form actions run token checks using custom wrappers inside includes/helpers.php.
  • XSS Sanitization: Input parameters undergo htmlspecialchars parsing using the clean() helper.
  • Session Management: Secure sessions are initialized inside config/config.php preventing hijacking attacks.