project/ ├── frontend/ │ ├── node_modules/ │ ├── src/ │ │ ├── pages/ │ │ │ ├── Admin/ │ │ │ │ ├── BrandingPage.jsx │ │ │ │ ├── ReportsPage.jsx │ │ │ │ ├── ProductEditPage.jsx │ │ │ │ ├── OrdersPage.jsx │ │ │ │ ├── EmailTemplatesPage.jsx │ │ │ │ ├── SettingsPage.jsx │ │ │ │ ├── BlogEditPage.jsx │ │ │ │ ├── CategoriesPage.jsx │ │ │ │ ├── CustomersPage.jsx │ │ │ │ ├── CouponsPage.jsx │ │ │ │ ├── ProductReviewsPage.jsx │ │ │ │ ├── BlogPage.jsx │ │ │ │ ├── BlogCommentsPage.jsx │ │ │ │ ├── DashboardPage.jsx │ │ │ │ └── ProductsPage.jsx │ │ │ ├── CheckoutPage.jsx │ │ │ ├── CouponEditPage.jsx │ │ │ ├── ProductsPage.jsx │ │ │ ├── UserOrdersPage.jsx │ │ │ ├── CartPage.jsx │ │ │ ├── ProductDetailPage.jsx │ │ │ ├── BlogDetailPage.jsx │ │ │ ├── BlogPage.jsx │ │ │ ├── CouponRedemptionsPage.jsx │ │ │ ├── HomePage.jsx │ │ │ ├── LoginPage.jsx │ │ │ ├── PaymentSuccessPage.jsx │ │ │ ├── RegisterPage.jsx │ │ │ ├── VerifyPage.jsx │ │ │ ├── NotFoundPage.jsx │ │ │ └── PaymentCancelPage.jsx │ │ ├── services/ │ │ │ ├── emailTemplateService.js │ │ │ ├── blogAdminService.js │ │ │ ├── adminService.js │ │ │ ├── couponService.js │ │ │ ├── productService.js │ │ │ ├── productReviewService.js │ │ │ ├── consentService.js (NEW) │ │ │ ├── settingsAdminService.js │ │ │ ├── imageService.js │ │ │ ├── cartService.js │ │ │ ├── categoryAdminService.js │ │ │ ├── authService.js │ │ │ ├── blogService.js │ │ │ └── api.js │ │ ├── components/ │ │ │ ├── ProductReviews.jsx │ │ │ ├── OrderStatusDialog.jsx │ │ │ ├── ImageUploader.jsx │ │ │ ├── CookieConsentPopup.jsx │ │ │ ├── CookieSettingsButton.jsx │ │ │ ├── Footer.jsx │ │ │ ├── CouponInput.jsx │ │ │ ├── EmailDialog.jsx │ │ │ ├── StripePaymentForm.jsx │ │ │ ├── ProductImage.jsx │ │ │ ├── ProtectedRoute.jsx │ │ │ ├── Notifications.jsx │ │ │ └── ProductRatingDisplay.jsx │ │ ├── hooks/ │ │ │ ├── apiHooks.js │ │ │ ├── blogHooks.js │ │ │ ├── emailTemplateHooks.js │ │ │ ├── adminHooks.js │ │ │ ├── productReviewHooks.js │ │ │ ├── reduxHooks.js │ │ │ ├── couponAdminHooks.js │ │ │ ├── settingsAdminHooks.js │ │ │ ├── categoryAdminHooks.js │ │ │ └── brandingHooks.js │ │ ├── layouts/ │ │ │ ├── MainLayout.jsx │ │ │ ├── AdminLayout.jsx │ │ │ └── AuthLayout.jsx │ │ ├── features/ │ │ │ ├── ui/ │ │ │ │ └── uiSlice.js │ │ │ ├── cart/ │ │ │ │ └── cartSlice.js │ │ │ ├── auth/ │ │ │ │ └── authSlice.js │ │ │ └── theme/ │ │ │ ├── ThemeProvider.jsx │ │ │ └── index.js │ │ ├── utils/ │ │ │ └── imageUtils.js │ │ ├── store/ │ │ │ └── index.js │ │ ├── context/ │ │ │ └── StripeContext.jsx │ │ └── assets/ │ │ ├── App.jsx │ │ ├── main.jsx │ │ └── config.js │ └── public/ │ ├── favicon.svg │ ├── vite.config.js │ ├── README.md │ ├── Dockerfile │ ├── nginx.conf │ ├── setup-frontend.sh │ ├── index.html │ └── .env ├── backend/ │ ├── node_modules/ │ ├── src/ │ │ ├── routes/ │ │ │ ├── cart.js │ │ │ ├── couponAdmin.js │ │ │ ├── emailTemplatesAdmin.js │ │ │ ├── productAdmin.js │ │ │ ├── blogAdmin.js │ │ │ ├── orderAdmin.js │ │ │ ├── settingsAdmin.js │ │ │ ├── blog.js │ │ │ ├── auth.js │ │ │ ├── productReviews.js │ │ │ ├── stripePayment.js │ │ │ ├── products.js │ │ │ ├── productReviewsAdmin.js │ │ │ ├── blogCommentsAdmin.js │ │ │ ├── userAdmin.js │ │ │ ├── categoryAdmin.js │ │ │ ├── shipping.js │ │ │ ├── images.js │ │ │ ├── userOrders.js │ │ │ ├── publicSettings.js │ │ │ └── productAdminImages.js │ │ ├── middleware/ │ │ │ ├── upload.js │ │ │ ├── adminAuth.js │ │ │ └── auth.js │ │ ├── services/ │ │ │ ├── shippingService.js │ │ │ ├── emailService.js │ │ │ └── notificationService.js │ │ ├── models/ │ │ │ └── SystemSettings.js │ │ └── db/ │ │ ├── index.js │ │ ├── index.js │ │ └── config.js │ └── public/ │ ├── uploads/ │ │ ├── products/ │ │ └── blog/ │ ├── package-lock.json │ ├── README.md │ ├── .env │ ├── package.json │ ├── Dockerfile │ └── .gitignore └── db/ ├── init/ │ ├── 18-email-templates.sql │ ├── 01-schema.sql │ ├── 02-seed.sql │ ├── 16-blog-schema.sql │ ├── 15-coupon.sql │ ├── 17-product-reviews.sql │ ├── 19-branding-settings.sql (NEW) │ ├── 04-product-images.sql │ ├── 09-system-settings.sql │ ├── 14-product-notifications.sql │ ├── 10-payment.sql │ ├── 11-notifications.sql │ ├── 12-shipping-orders.sql │ ├── 08-create-email.sql │ ├── 05-admin-role.sql │ ├── 03-api-key.sql │ ├── 07-user-keys.sql │ ├── 13-cart-metadata.sql │ └── 06-product-categories.sql └── test/ ├── fileStructure.txt ├── docker-compose.yml └── .gitignore