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