A C2C e-commerce platform that features multi-role user management, product catalog, shopping cart functionality, and administrative controls - built with modern web technologies.
- Project Description
- Core Features
- Tech Stack
- Quick Start
- Design Inspiration
- User Roles & Access
- Project Structure
- Database Schema
- Development
- Project Documentation
- Contributing
- License
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.
- 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
| 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 |
- Docker installed
- Docker Compose (included with Docker)
- Web browser with JavaScript enabled
- Clone the repository:
git clone https://github.com/shar-c0des/PulseBuy.git
cd PulseBuy- Build and start the containers:
docker-compose up --build-
Access the application:
- Web Application: http://localhost:8080
- phpMyAdmin: http://localhost:8081
- Server:
db - Username:
pulseuserorroot - Password:
pulsepassorrootpass
- Server:
-
Database Configuration:
- Host:
db - Database:
pulsebuy - User:
pulseuser - Password:
pulsepass
- Host:
-
Import database schema:
- Use phpMyAdmin at localhost:8081
- Import the
db_schema.sqlfile
-
Stop the containers:
docker-compose downDuring the design and development phase, I analyzed leading e-commerce platforms to understand best practices and user experience patterns:
|
Taobao |
Gmarket |
- 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
- 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
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
- 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
- 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
- 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
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
The PulseBuy platform uses a comprehensive MySQL database with the following main entities:
- 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
- Fork and clone the repository
- Create a feature branch:
git checkout -b feature/your-feature-name- Make your changes
- Test thoroughly
- Commit with descriptive message:
git commit -m "Add: detailed feature description"- Push and create pull request
- 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
| 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 |
I welcome contributions to enhance PulseBuy's functionality and user experience!
- Fork the repository to your GitHub account
- Create a feature branch with descriptive name:
git checkout -b feature/awesome-new-feature
- Implement your changes following our coding standards
- Test thoroughly across different user roles and scenarios
- Submit a pull request with detailed description of changes
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
For questions, suggestions, or support:
- Create an Issue: GitHub Issues
- Email: ngomakapilesharleen703@gmail.com