Skip to content

πŸ›’ CartOpia – A comprehensive e-commerce platform crafted with PHP, MySQL, HTML, CSS, and JavaScript. It features Stripe payment integration, PDF invoice generation and a seamless user experience for both customers and admins.

Notifications You must be signed in to change notification settings

jihanebouazza/CartOpia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CartOpia - E-commerce Project

Overview

CartOpia is a full-featured e-commerce website built using PHP, MySQL, HTML, CSS, and JavaScript. The project integrates third-party libraries and services such as Animate.css for UI animations, Stripe for payment processing, and dompdf for generating PDF invoices. The platform offers a seamless shopping experience with dynamic product listings, user management, and secure checkout functionality.

Home page Screenshot

Technologies Used

  • Backend: PHP (Core functionality, server-side logic), MySQL (Relational database for storing various data).

  • Frontend: HTML5, CSS3, JavaScript (UI/UX design and interactivity)

Libraries and Packages

  • Animate.css – CSS animations for smoother user interactions.

  • Stripe – Payment gateway integration for secure transactions.

  • dompdf – PDF generation for invoices.

ER diagram

ER diagram

Features

  • Shopping Cart – Dynamic cart functionality with product quantity adjustments.

  • Wishlist – Save products for future purchases.

  • Product Filters – Filter by category, price, and more.

  • Review System – Leave feedback for purchased products.

  • Payment Integration – Stripe API for secure payment processing.

  • PDF Generation – Invoices are automatically generated using dompdf.

  • Authentication and Authorization –

    • Secure login and signup with role-based access.
    • Guest, User, and Admin permissions ensure data security and prevent unauthorized actions.
    • Password recovery and reset functionalities.

User Roles and Permissions

Guest

  • Browse Products – View the entire catalog of products.

  • Add/Remove from Cart – Seamlessly add products to the cart or remove them as needed.

  • Add to Wishlist – Save products for later by adding them to your wishlist.

  • Filter Products – Narrow down products by category, price, or other filters.

  • Sign Up – Create an account to unlock more features.

User (Authenticated)

  • Login/Logout – Access and secure user-specific data.

  • Checkout – Complete purchases by entering delivery details.

  • Payments – Secure payment integration via Stripe.

  • Dashboard – View personal metrics, and account activity.

  • Order History – Track previous orders and view detailed receipts.

  • Print Invoices – Generate PDF invoices using dompdf.

  • Manage Account – Update personal details and change passwords.

  • Review Products – Leave reviews for shipped products to share feedback.

Admin

  • Login/Logout – Secure access to the admin dashboard.

  • Admin Dashboard – Visualize various site metrics, including sales and user activity.

  • Manage Products – Add, edit, or delete products from the store.

  • Manage Categories – Organize and oversee product categories.

  • Manage Orders – View, process, and update order statuses.

  • Manage Users – Edit user information or remove users.

  • Manage Reviews – Moderate or delete product reviews.

  • Change Password – Secure admin account by updating credentials.

Installation and Setup

  1. Clone the repository: git clone https://github.com/jihanebouazza/CartOpia.git
  2. Navigate to the project directory: cd CartOpia
  3. Set up the environment:
    • Configure your database in src/config.php.
    • Create src/stripe.php and add the code below and update your Stripe API keys.
define('STRIPE_API_KEY','PRIVATE_KEY');
define('STRIPE_PUBLISHABLE_KEY','PUBLIC_KEY');
define('STRIPE_SUCCESS_URL','http://localhost/cartopia/public/views/products/success.php');
define('STRIPE_CANCEL_URL','http://localhost/cartopia/public/views/products/cancel.php');
  1. Install dependencies: composer install
  2. Start the development server: navigate to http://localhost/CartOpia/public/

Screenshots

Landing Page

Landing page Screenshot

Products Page

Products page Screenshot

Single Product Page

Product page Screenshot

FAQ Page

FAQ page Screenshot

Log in Page

Login page Screenshot

Sign up Page

Signup page Screenshot

Cart Page

Cart page Screenshot

Wishlist Page

Wishlist page Screenshot

User Dashboard Page

User dashboard page Screenshot

Order History Page

Order history page Screenshot

Account Settings Page

Account settings page Screenshot

Change Password Page

Password Change page Screenshot

Admin Dashboard Page

Admin dashboard page Screenshot

Product Management Page

Product management page Screenshot

Category Management Page

Category management page Screenshot

Order Management Page

Order management page Screenshot

User Management Page

User management page Screenshot

Change Password Page for Admin

Admin Password page Screenshot

Contribution

Feel free to fork the project and submit pull requests. For major changes, please open an issue first to discuss what you would like to implement.

About

πŸ›’ CartOpia – A comprehensive e-commerce platform crafted with PHP, MySQL, HTML, CSS, and JavaScript. It features Stripe payment integration, PDF invoice generation and a seamless user experience for both customers and admins.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors