A responsive core PHP e-commerce platform specializing in footwear products with multiple categories and brands
Features β’ Tech Stack β’ Installation β’ Project Structure β’ Usage β’ Contributing β’ Contact
- Overview
- Features
- Tech Stack
- Requirements
- Installation
- Project Structure
- Key Modules
- Database Setup
- Configuration
- Usage Guide
- API Endpoints
- Contributing
- License
- Contact
Shoeholic is a fully functional e-commerce web application built with Core PHP designed specifically for selling footwear products online. The platform features a complete shopping experience with product browsing, cart management, checkout, user authentication, and an administrative dashboard for managing products, orders, users, and categories.
- Responsive Design: Mobile-friendly interface that works seamlessly across all devices
- Secure Authentication: User registration, login, and password management with OTP verification
- Complete E-commerce Workflow: From product discovery to order confirmation
- Admin Dashboard: Comprehensive management system for administrators
- Multiple Payment Support: Ready for payment gateway integration
- Product Management: Categories, subcategories, brands, and detailed product listings
- Order Tracking: Users can view their order history and status
-
User Authentication
- Registration with email validation
- Secure login/logout functionality
- Password reset with OTP verification
- Account profile management
-
Shopping Experience
- Browse products by category and brand
- Advanced product filtering and search
- Product comparison feature
- Wishlist/Favorites management
- Shopping cart with add/remove functionality
- Checkout process
-
Order Management
- Place orders
- View order history
- Track order status
- Order details view
-
User Account
- Edit profile information
- Manage addresses
- View order history
- Wishlist management
-
Contact & Feedback
- Contact us form
- Customer feedback system
- Multiple support pages
-
Dashboard & Reports
- Admin dashboard overview
- Order reports with acceptance/rejection
- User activity reports
- Sales analytics
-
Product Management
- Add/edit/delete products
- Manage product images
- Manage categories and subcategories
- Manage brands
-
Order Management
- View all orders
- Accept/reject orders
- View detailed order information
- Generate order reports
-
User Management
- View registered users
- User reports
- Manage user accounts
-
Content Management
- Upload product gallery images
- Manage website content
- PHP 7.0+ - Server-side scripting language
- MySQL 5.7+ - Database management system
- Core PHP - No frameworks (pure PHP)
- HTML5 - Markup structure
- CSS3 - Styling and responsive design
- JavaScript & jQuery - Client-side interactivity
- Bootstrap - Responsive UI framework (implied from structure)
- PHPMailer - Email sending functionality
- jQuery - JavaScript library for DOM manipulation
- SQL Database - shoeholic.sql / shoe_holic.sql
Before you begin, ensure you have the following installed:
- PHP 7.0 or higher
- MySQL Server 5.7 or higher
- Apache Web Server 2.4+
- Browser: Modern web browser (Chrome, Firefox, Safari, Edge)
- Text Editor/IDE: VS Code, PHPStorm, or Sublime Text
- Git (optional, for version control)
git clone https://github.com/nirav-gajera/online-footwear-product-buying-php.git
cd online-footwear-product-buying-php- Copy the project folder to your web server root:
- Apache (XAMPP/WAMP): Copy to
htdocs/orwww/ - Access URL:
http://localhost/online-footwear-product-buying-php/
- Apache (XAMPP/WAMP): Copy to
- Open phpMyAdmin (typically at
http://localhost/phpmyadmin) - Create a new database named
shoeholic - Go to the Import tab
- Select and import the database file:
- Either
shoeholic/shoeholic.sqlorshoeholic/shoe_holic.sql
- Either
- Click Import
Update the database credentials in the configuration files:
File: shoeholic/config/conn.php or shoeholic/config/connection.php
<?php
$host = 'localhost';
$dbname = 'shoeholic';
$user = 'root';
$password = '';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection Error: " . $e->getMessage();
}
?>chmod 755 shoeholic/Images/
chmod 755 shoeholic/Client1/Images/
chmod 755 shoeholic/admin/Images/- Client Side:
http://localhost/online-footwear-product-buying-php/shoeholic/Client1/index.php - Admin Panel:
http://localhost/online-footwear-product-buying-php/shoeholic/admin/login.php
online-footwear-product-buying-php/
β
βββ shoeholic/ # Main application folder
β βββ config/ # Configuration files
β β βββ conn.php # Database connection
β β βββ connection.php # Alternative connection file
β β
β βββ Client1/ # Client-side (User Interface)
β β βββ index.php # Home page
β β βββ login.php # User login
β β βββ register.php # User registration
β β βββ shop.php # Product listing
β β βββ product details.php # Product detail page
β β βββ cart.php # Shopping cart
β β βββ checkout.php # Checkout process
β β βββ account.php # User account
β β βββ myorder.php # User orders
β β βββ wishlist.html # Wishlist page
β β βββ contactus.php # Contact form
β β βββ feedback.php # Feedback form
β β βββ aboutus.php # About page
β β βββ forgot_password.php # Forgot password
β β βββ resetpassword.php # Password reset
β β βββ header.php # Header component
β β βββ footer.php # Footer component
β β βββ logout.php # Logout functionality
β β βββ Images/ # Product images
β β βββ assets/ # CSS, JS, fonts
β β βββ lib/ # Third-party libraries
β β βββ PHPMailer/ # Email library
β β
β βββ admin/ # Admin Panel
β β βββ index.php # Admin dashboard
β β βββ login.php # Admin login
β β βββ logout.php # Admin logout
β β βββ connection.php # Database connection
β β β
β β βββ Area.php # Delivery area management
β β βββ areainsert.php # Add area
β β βββ areadelete.php # Delete area
β β βββ areaupdate.php # Update area
β β β
β β βββ brand.php # Brand management
β β βββ brandinsert.php # Add brand
β β βββ branddelete.php # Delete brand
β β βββ brandupdate.php # Update brand
β β β
β β βββ category.php # Category management
β β βββ categoryinsert.php # Add category
β β βββ categorydelete.php # Delete category
β β βββ categoryupdate.php # Update category
β β β
β β βββ sub-category.php # Subcategory management
β β βββ sub-categoryinsert.php # Add subcategory
β β βββ sub-categorydelete.php # Delete subcategory
β β βββ sub-categoryupdate.php # Update subcategory
β β β
β β βββ product.php # Product management
β β βββ productinsert.php # Add product
β β βββ productdelete.php # Delete product
β β βββ productupdate.php # Update product
β β β
β β βββ gallery.php # Gallery management
β β βββ galleryinsert.php # Add gallery images
β β βββ gallerydelete.php # Delete gallery images
β β βββ galleryupdate.php # Update gallery images
β β β
β β βββ order.php # Order management
β β βββ order detail.php # Order details
β β βββ order_accept.php # Accept order
β β βββ order_reject.php # Reject order
β β β
β β βββ user.php # User management
β β βββ User1.php # User details
β β β
β β βββ contact.php # Contact inquiries
β β βββ feedback.php # User feedback
β β β
β β βββ Reports/ # Report generation
β β β βββ orderreport.php # Order reports
β β β βββ userreport.php # User reports
β β β
β β βββ upload.php # File upload handling
β β βββ profile.php # Admin profile
β β βββ resetpassword.php # Password reset
β β βββ header.php # Admin header
β β βββ footer.php # Admin footer
β β βββ Images/ # Admin images and brand logos
β β βββ assets/ # Admin CSS, JS
β β βββ lib/ # Libraries
β β βββ PHPMailer/ # Email library
β β
β βββ Images/ # Shared images folder
β βββ shoeholic.sql # Database backup file
β βββ shoe_holic.sql # Alternative database backup
β
βββ README.md # This file
- User registration and email verification
- Secure login system
- Forgot password with OTP
- Session management
- Admin authentication
- Product catalog with categories and subcategories
- Brand management
- Product details and specifications
- Image gallery for products
- Inventory management
- Add/remove items from cart
- Update quantity
- Calculate totals and tax
- Checkout with delivery address
- Order confirmation
- Order placement and tracking
- Order history for users
- Admin order acceptance/rejection
- Order details view
- Order status tracking
- Profile update
- Address management
- Order history
- Wishlist/Favorites
- Account settings
- Product CRUD operations
- Category/Subcategory management
- Brand management
- Delivery area management
- User management
- Order management and reporting
- Gallery management
- Contact form submission
- Customer feedback system
- Email notifications (via PHPMailer)
Two database backup files are available:
shoeholic/shoeholic.sqlshoeholic/shoe_holic.sql
The database includes the following main tables:
users- User accounts and profilesproducts- Product informationcategories- Product categoriessubcategories- Product subcategoriesbrands- Brand informationorders- Order recordsorderdetails- Order line itemscart- Shopping cart itemswishlist- User wishlist itemsfeedback- Customer feedbackcontact- Contact inquiriesadmin- Administrator accountsgallery- Product gallery imagesarea- Delivery areas
-- Import using MySQL command line
mysql -u root -p shoeholic < shoeholic/shoeholic.sql
-- Or use phpMyAdmin GUIEdit the connection files to match your environment:
Path: shoeholic/config/conn.php
$host = 'localhost';
$dbname = 'shoeholic';
$user = 'root';
$password = '';For PHPMailer setup, configure SMTP settings in relevant email sending files:
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = 'your-email@gmail.com';
$mail->Password = 'your-password';Ensure the following directories have proper write permissions:
shoeholic/Images/shoeholic/Client1/Images/shoeholic/admin/Images/
- Visit the homepage
- Navigate to Shop section
- Filter by category, brand, or price
- View detailed product information
- Click on "Register" or "Sign Up"
- Fill in the registration form
- Verify email address
- Set password
- Click "Login"
- Enter email and password
- Access your account dashboard
- Click "Add to Cart" on products
- View cart items
- Update quantities
- Proceed to checkout
- Review cart items
- Enter delivery address
- Select payment method
- Confirm order
- View profile information
- Update account details
- View order history
- Manage wishlist
- Use "Contact Us" form for inquiries
- Submit feedback and suggestions
- View FAQ and About Us
- Navigate to
/shoeholic/admin/login.php - Enter admin credentials
- Access admin dashboard
- Go to Products section
- Add new products
- Edit existing products
- Delete products
- Upload product images
- Create categories
- Create subcategories
- Edit categories
- Delete categories
- Add new brands
- Upload brand logos
- Update brand information
- Delete brands
- View all orders
- Accept or reject orders
- View order details
- Generate reports
- View registered users
- View user details
- Generate user reports
- View user activity
- Order reports
- User reports
- Sales analytics
- Generate custom reports
POST /shoeholic/Client1/login.php- User loginPOST /shoeholic/Client1/register.php- User registrationPOST /shoeholic/Client1/forgot_password.php- Forgot passwordGET /shoeholic/Client1/logout.php- User logout
GET /shoeholic/Client1/shop.php- Get all productsGET /shoeholic/Client1/products.php- Get filtered productsGET /shoeholic/Client1/product%20details.php?id=X- Get product details
POST /shoeholic/Client1/cart%20insert.php- Add to cartGET /shoeholic/Client1/cart.php- View cartPOST /shoeholic/Client1/cartdelete.php- Remove from cart
POST /shoeholic/Client1/checkout.php- Create orderGET /shoeholic/Client1/myorder.php- View user orders
GET /shoeholic/Client1/account.php- View accountPOST /shoeholic/Client1/account.php- Update account
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Bug fixes and improvements
- Feature enhancements
- Code optimization
- Documentation improvements
- Localization/Translation
- UI/UX improvements
- Security enhancements
- Follow PSR-12 PHP coding standards
- Write clear, readable code
- Add comments for complex logic
- Test your changes before submitting
- Write meaningful commit messages
This project is open source and available under the MIT License.
- Instagram: @mr._nirav_09
- GitHub: @nirav-gajera
- Email: Contact via GitHub
Please visit Instagram profile for complete project documentation and support.
- Report issues on GitHub Issues
- Provide detailed description and screenshots
- Include steps to reproduce the bug
- Mobile application (iOS/Android)
- Payment gateway integration (Stripe, PayPal)
- Advanced analytics dashboard
- Email notifications enhancement
- API versioning
- Coupon and discount system
- Review and rating system
- Inventory management
- Multi-language support
- Dark mode theme
If you find this project helpful, please consider giving it a β on GitHub!