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.
-
Backend: PHP (Core functionality, server-side logic), MySQL (Relational database for storing various data).
-
Frontend: HTML5, CSS3, JavaScript (UI/UX design and interactivity)
-
Animate.css β CSS animations for smoother user interactions.
-
Stripe β Payment gateway integration for secure transactions.
-
dompdf β PDF generation for invoices.
-
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.
-
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.
-
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.
-
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.
- Clone the repository:
git clone https://github.com/jihanebouazza/CartOpia.git - Navigate to the project directory:
cd CartOpia - 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');- Install dependencies:
composer install - Start the development server: navigate to http://localhost/CartOpia/public/
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.



















