Skip to content

shar-c0des/PulseBuy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PulseBuy E-commerce Platform

GitHub stars GitHub forks GitHub issues GitHub license

A C2C e-commerce platform that features multi-role user management, product catalog, shopping cart functionality, and administrative controls - built with modern web technologies.

PHP MySQL HTML5 CSS3 JavaScript Docker


Table of Contents

  1. Project Description
  2. Core Features
  3. Tech Stack
  4. Quick Start
  5. Design Inspiration
  6. User Roles & Access
  7. Project Structure
  8. Database Schema
  9. Development
  10. Project Documentation
  11. Contributing
  12. License

Project Description

PulseBuy is a full-featured e-commerce platform designed to provide a seamless online shopping experience for buyers while enabling sellers to manage their products efficiently and administrators to oversee the entire system.

Project Goals

  • Multi-Role System: Support for Admins, Buyers, and Sellers with role-specific dashboards
  • Complete Shopping Experience: From product browsing to order completion
  • Scalable Architecture: Built with PHP and MySQL for reliability and performance
  • User-Friendly Interface: Intuitive design for all user types
  • Comprehensive Management: Product, order, and user management capabilities

Core Features

Category Features
User Management • Multi-role authentication system
• User registration & login
• Profile management
• Role-based access control
Product Management • Complete product catalog
• Add, edit, delete products
• Image upload functionality
• Inventory tracking
Shopping Experience • Interactive shopping cart
• Wishlist functionality
• Order processing workflow
• Payment integration
Analytics & Reports • Sales analytics dashboard
• Order history tracking
• Admin reporting system
• Performance metrics
Multi-Vendor Support • Dedicated seller dashboard
• Individual product management
• Sales tracking per seller
• Vendor performance reports

Tech Stack

Layer Technology Purpose
Backend PHP Server-side logic and API endpoints
Database MySQL Data storage and management
Frontend HTML5 Page structure and markup
Styling CSS3 Visual design and layout
Scripting JavaScript Interactive functionality
Containerization Docker Development environment setup

Quick Start

Prerequisites

Installation & Setup

  1. Clone the repository:
git clone https://github.com/shar-c0des/PulseBuy.git
cd PulseBuy
  1. Build and start the containers:
docker-compose up --build
  1. Access the application:

  2. Database Configuration:

    • Host: db
    • Database: pulsebuy
    • User: pulseuser
    • Password: pulsepass
  3. Import database schema:

    • Use phpMyAdmin at localhost:8081
    • Import the db_schema.sql file
  4. Stop the containers:

docker-compose down

Design Inspiration

Research & Analysis

During the design and development phase, I analyzed leading e-commerce platforms to understand best practices and user experience patterns:

Taobao
Taobao
Gmarket
Gmarket

Implemented Features from Research

From Taobao:

  • Advanced Shopping Cart: Multi-item selection and quantity management
  • Product Rating System: Customer feedback and rating display
  • Multi-vendor Marketplace: Individual seller stores and management
  • Mobile-Responsive Design: Cross-device compatibility

From Gmarket:

  • Category-Based Navigation: Structured product categorization
  • Sales Analytics Dashboard: Real-time sales tracking and reporting
  • Integrated Payment Processing: Streamlined checkout experience
  • Order Tracking System: Comprehensive order status monitoring

Research Insights

The combination of these platforms influenced PulseBuy's architecture:

  • User-Centric Design: Focus on seamless user experience
  • Scalable Architecture: Support for multiple vendors and large product catalogs
  • Data-Driven Decisions: Comprehensive analytics for business insights
  • Modern Interface: Clean, intuitive design patterns

User Roles & Access

Admin Dashboard (admin_dashboard.php)

  • Complete System Access: Full platform control and configuration
  • User Management: Account creation, modification, and role assignment
  • Product Oversight: Review, approve, and manage all products
  • Analytics & Reports: Comprehensive sales and usage statistics
  • System Configuration: Database management and platform settings

Buyer Dashboard (buyer_dashboard.php)

  • Product Browsing: Search, filter, and explore product catalog
  • Shopping Cart: Add, remove, and modify cart items
  • Order Management: Place orders and track order status
  • Wishlist: Save and manage favorite products
  • Profile Management: Update personal information and preferences

Seller Dashboard (seller_dashboard.php)

  • Product Management: Add, edit, and manage personal product listings
  • Sales Analytics: Track performance and revenue metrics
  • Order Processing: Handle orders for seller's products
  • Inventory Control: Monitor and update stock levels
  • Business Reports: Access seller-specific analytics and insights

Project Structure

PulseBuy/
├──  Core Files
│   ├── index.php                     # Homepage and landing page
│   ├── loginSignup.php               # User authentication portal
│   ├── register.php                  # User registration
│   ├── logout.php                    # Session termination
│   ├── profile.php                   # User profile management
│   └── products.php                  # Product catalog display
│
├──  Dashboards
│   ├── admin_dashboard.php           # Admin control panel
│   ├── buyer_dashboard.php           # Customer dashboard
│   ├── seller_dashboard.php          # Seller interface
│   ├── buyer_welcome.php             # Buyer welcome page
│   └── seller_welcome.php            # Seller welcome page
│
├──  Shopping Cart
│   ├── cart/
│   │   ├── add.php                   # Add items to cart
│   │   ├── remove.php                # Remove items from cart
│   │   └── view.php                  # View cart contents
│   ├── wishlist.php                  # Wishlist functionality
│   └── order/
│       └── confirmation.php          # Order confirmation page
│
├──  Product Management
│   ├── products/
│   │   ├── add.php                   # Add new products
│   │   ├── edit.php                  # Edit existing products
│   │   ├── delete.php                # Delete products
│   │   ├── list.php                  # Product listing
│   │   ├── manage.php                # Product management
│   │   └── view.php                  # Individual product view
│   │
├──  Order Management
│   ├── orders/
│   │   ├── history.php               # Order history tracking
│   │   ├── sales.php                 # Sales reports
│   │   └── view.php                  # Order details
│   └── payment/
│       └── process.php               # Payment processing
│
├──  Analytics & Reports
│   └── reports/
│       └── generate.php              # Report generation
│
├──  Configuration
│   ├── config/
│   │   └── db.php                    # Database configuration
│   ├── templates/
│   │   ├── header.php                # Site header template
│   │   └── footer.php                # Site footer template
│   └── scripts/
│       └── seed_demo_data.php        # Demo data seeder
│
├──  Database
│   ├── db_schema.sql                 # Complete database schema
│   ├── Dockerfile                    # Docker container setup
│   └── docker-compose.yml            # Multi-container setup
│
└──  Assets
    ├── assets/
    │   └── uploads/                  # User uploaded files
    └── src/
        └── uploads/                  # Source uploads

Database Schema

The PulseBuy platform uses a comprehensive MySQL database with the following main entities:

Core Tables

  • Users: User accounts, authentication, and role management
  • Products: Product catalog with details, pricing, and inventory
  • Categories: Product categorization and organization
  • Orders: Order tracking and management system
  • Order_Items: Individual items within orders
  • Cart: Shopping cart contents and management
  • Wishlist: User saved products and preferences
  • Payments: Payment transaction records
  • Reviews: Product reviews and ratings system

Full schema available in: db_schema.sql


🔧 Development

Setting Up Development Environment

  1. Fork and clone the repository
  2. Create a feature branch:
git checkout -b feature/your-feature-name
  1. Make your changes
  2. Test thoroughly
  3. Commit with descriptive message:
git commit -m "Add: detailed feature description"
  1. Push and create pull request

Code Standards

  • PHP: Follow PSR-12 coding standards
  • SQL: Use prepared statements for security
  • HTML/CSS: Semantic markup and responsive design
  • JavaScript: ES6+ features and modern practices

Project Documentation

Document Description Link
Project Proposal Initial project scope and requirements View Document
Design & Development PPT Presentation on design decisions and implementation View Presentation
User Manual Comprehensive user guide for all roles View Manual

Contributing

I welcome contributions to enhance PulseBuy's functionality and user experience!

How to Contribute

  1. Fork the repository to your GitHub account
  2. Create a feature branch with descriptive name:
    git checkout -b feature/awesome-new-feature
  3. Implement your changes following our coding standards
  4. Test thoroughly across different user roles and scenarios
  5. Submit a pull request with detailed description of changes

Contribution Guidelines

  • Follow existing code style and conventions
  • Add comments for complex logic
  • Include appropriate error handling
  • Test new features across all user roles
  • Update documentation if needed

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • PHP Community: For robust server-side development tools
  • MySQL: For reliable database management system
  • Docker: For simplified development environment setup
  • E-commerce Platforms: Taobao and Gmarket for design inspiration
  • Open Source Community: For continuous innovation and support

Support & Contact

For questions, suggestions, or support:


⭐ If you find PulseBuy helpful, please consider giving it a star!

Made with ❤️ by shar-c0des

GitHub stars GitHub forks


Last Updated: December 2025

Releases

No releases published

Packages

 
 
 

Contributors