# Project Map - backend

This file provides an interactive map of **backend**'s directory structure, individual file roles, and dependencies/connections to assist AI models and developers in navigating the codebase.

## 1. Directory Tree

```text
backend/
│   ├── config/
│   │   └── cloudinary.js
│   ├── controllers/
│   │   ├── abandonedOrderController.js
│   │   ├── accountController.js
│   │   ├── authController.js
│   │   ├── bannerController.js
│   │   ├── cartController.js
│   │   ├── categoryController.js
│   │   ├── contactController.js
│   │   ├── couponController.js
│   │   ├── landingPageController.js
│   │   ├── orderController.js
│   │   ├── paymentController.js
│   │   ├── productController.js
│   │   ├── productEngagementController.js
│   │   ├── purchaseController.js
│   │   ├── reportController.js
│   │   ├── shippingController.js
│   │   ├── staffController.js
│   │   ├── subscriptionController.js
│   │   ├── supportTicketController.js
│   │   ├── vendorController.js
│   │   ├── vendorEngagementController.js
│   │   ├── vendorMessageController.js
│   │   ├── verificationController.js
│   │   └── wishlistController.js
│   ├── middlewares/
│   │   ├── auth.js
│   │   ├── bannerUpload.js
│   │   ├── errorHandler.js
│   │   ├── marketplaceMode.js
│   │   ├── responseCache.js
│   │   ├── singleStoreResponseSanitizer.js
│   │   └── upload.js
│   ├── models/
│   │   ├── AbandonedOrder.js
│   │   ├── AccountEntry.js
│   │   ├── Banner.js
│   │   ├── Cart.js
│   │   ├── Category.js
│   │   ├── ContactSubmission.js
│   │   ├── Coupon.js
│   │   ├── LandingPage.js
│   │   ├── Order.js
│   │   ├── PaymentMethod.js
│   │   ├── Product.js
│   │   ├── ProductImage.js
│   │   ├── ProductReview.js
│   │   ├── ProductSubscription.js
│   │   ├── Purchase.js
│   │   ├── ShippingZone.js
│   │   ├── StaffMember.js
│   │   ├── SubscriptionPlan.js
│   │   ├── Supplier.js
│   │   ├── SupportTicket.js
│   │   ├── User.js
│   │   ├── Vendor.js
│   │   ├── VendorContactMessage.js
│   │   ├── VendorConversation.js
│   │   ├── VendorReview.js
│   │   ├── VendorSubscription.js
│   │   ├── VendorVerification.js
│   │   └── Wishlist.js
│   ├── routes/
│   │   ├── abandonedOrderRoutes.js
│   │   ├── accountRoutes.js
│   │   ├── authRoutes.js
│   │   ├── bannerRoutes.js
│   │   ├── cartRoutes.js
│   │   ├── categoryRoutes.js
│   │   ├── contactRoutes.js
│   │   ├── couponRoutes.js
│   │   ├── landingPageRoutes.js
│   │   ├── orderRoutes.js
│   │   ├── productRoutes.js
│   │   ├── purchaseRoutes.js
│   │   ├── reportRoutes.js
│   │   ├── shippingRoutes.js
│   │   ├── staffRoutes.js
│   │   ├── subscriptionRoutes.js
│   │   ├── supportTicketRoutes.js
│   │   ├── vendorMessageRoutes.js
│   │   ├── vendorRoutes.js
│   │   ├── verificationRoutes.js
│   │   └── wishlistRoutes.js
│   ├── services/
│   │   ├── analyticsService.js
│   │   ├── courierService.js
│   │   ├── seoAnalyticsService.js
│   │   ├── seoService.js
│   │   ├── shippingService.js
│   │   └── sitemapService.js
│   ├── utils/
│   │   ├── bangladeshLocations.js
│   │   ├── commissionUtils.js
│   │   ├── couponUtils.js
│   │   ├── customerRiskUtils.js
│   │   ├── emailTemplates.js
│   │   ├── imageUtils.js
│   │   ├── marketplaceAccess.js
│   │   ├── notificationUtils.js
│   │   ├── paymentGatewayUtils.js
│   │   ├── productVariants.js
│   │   ├── recurringSubscriptionUtils.js
│   │   ├── subscriptionUtils.js
│   │   └── vendorUtils.js
│   ├── .env
│   ├── .env.example
│   ├── app.js
│   ├── package.json
│   ├── server.js
│   └── server.mjs
```

## 2. Detailed File Descriptions & Connections

| File Path | Description / Represents | Connects To (Imports) | Imported By (Used In) |
| :--- | :--- | :--- | :--- |
| [`backend/.env`](file:///E:/3pShop/backend/.env) | Source file representing **.env**. | *None (Self-contained)* | *None (Entry point or standalone)* |
| [`backend/.env.example`](file:///E:/3pShop/backend/.env.example) | Source file representing **.env**. | *None (Self-contained)* | *None (Entry point or standalone)* |
| [`backend/app.js`](file:///E:/3pShop/backend/app.js) | Express application configuration, middleware initialization, and routing registration. | [`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js)<br>[`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js)<br>[`backend/middlewares/errorHandler.js`](file:///E:/3pShop/backend/middlewares/errorHandler.js)<br>[`backend/middlewares/singleStoreResponseSanitizer.js`](file:///E:/3pShop/backend/middlewares/singleStoreResponseSanitizer.js)<br>[`backend/routes/cartRoutes.js`](file:///E:/3pShop/backend/routes/cartRoutes.js)<br>[`backend/routes/orderRoutes.js`](file:///E:/3pShop/backend/routes/orderRoutes.js)<br>[`backend/routes/couponRoutes.js`](file:///E:/3pShop/backend/routes/couponRoutes.js)<br>[`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js)<br>[`backend/routes/shippingRoutes.js`](file:///E:/3pShop/backend/routes/shippingRoutes.js)<br>[`backend/routes/wishlistRoutes.js`](file:///E:/3pShop/backend/routes/wishlistRoutes.js)<br>[`backend/routes/accountRoutes.js`](file:///E:/3pShop/backend/routes/accountRoutes.js)<br>[`backend/routes/landingPageRoutes.js`](file:///E:/3pShop/backend/routes/landingPageRoutes.js)<br>[`backend/routes/abandonedOrderRoutes.js`](file:///E:/3pShop/backend/routes/abandonedOrderRoutes.js)<br>[`backend/routes/reportRoutes.js`](file:///E:/3pShop/backend/routes/reportRoutes.js)<br>[`backend/routes/contactRoutes.js`](file:///E:/3pShop/backend/routes/contactRoutes.js) | [`backend/server.js`](file:///E:/3pShop/backend/server.js) |
| [`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js) | Source file representing **cloudinary**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/bannerController.js`](file:///E:/3pShop/backend/controllers/bannerController.js)<br>[`backend/controllers/categoryController.js`](file:///E:/3pShop/backend/controllers/categoryController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js) |
| [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js) | Controller handling request/response logic and API endpoints for **abandonedOrder**. Maps routes to **abandonedOrder** data models. | [`backend/models/AbandonedOrder.js`](file:///E:/3pShop/backend/models/AbandonedOrder.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/models/LandingPage.js`](file:///E:/3pShop/backend/models/LandingPage.js)<br>[`backend/utils/productVariants.js`](file:///E:/3pShop/backend/utils/productVariants.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/abandonedOrderRoutes.js`](file:///E:/3pShop/backend/routes/abandonedOrderRoutes.js) |
| [`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js) | Controller handling request/response logic and API endpoints for **account**. Maps routes to **account** data models. | [`backend/models/AccountEntry.js`](file:///E:/3pShop/backend/models/AccountEntry.js)<br>[`backend/models/Purchase.js`](file:///E:/3pShop/backend/models/Purchase.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/accountRoutes.js`](file:///E:/3pShop/backend/routes/accountRoutes.js) |
| [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js) | Controller handling request/response logic and API endpoints for **auth**. Maps routes to **auth** data models. | [`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Purchase.js`](file:///E:/3pShop/backend/models/Purchase.js)<br>[`backend/models/AbandonedOrder.js`](file:///E:/3pShop/backend/models/AbandonedOrder.js)<br>[`backend/models/AccountEntry.js`](file:///E:/3pShop/backend/models/AccountEntry.js)<br>[`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js)<br>[`backend/utils/customerRiskUtils.js`](file:///E:/3pShop/backend/utils/customerRiskUtils.js)<br>[`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js)<br>[`backend/services/seoService.js`](file:///E:/3pShop/backend/services/seoService.js)<br>[`backend/services/analyticsService.js`](file:///E:/3pShop/backend/services/analyticsService.js)<br>[`backend/services/courierService.js`](file:///E:/3pShop/backend/services/courierService.js)<br>[`backend/services/seoAnalyticsService.js`](file:///E:/3pShop/backend/services/seoAnalyticsService.js)<br>[`backend/services/sitemapService.js`](file:///E:/3pShop/backend/services/sitemapService.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/controllers/bannerController.js`](file:///E:/3pShop/backend/controllers/bannerController.js) | Controller handling request/response logic and API endpoints for **banner**. Maps routes to **banner** data models. | [`backend/models/Banner.js`](file:///E:/3pShop/backend/models/Banner.js)<br>[`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js) |
| [`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js) | Controller handling request/response logic and API endpoints for **cart**. Maps routes to **cart** data models. | [`backend/models/Cart.js`](file:///E:/3pShop/backend/models/Cart.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/productVariants.js`](file:///E:/3pShop/backend/utils/productVariants.js) | [`backend/routes/cartRoutes.js`](file:///E:/3pShop/backend/routes/cartRoutes.js) |
| [`backend/controllers/categoryController.js`](file:///E:/3pShop/backend/controllers/categoryController.js) | Controller handling request/response logic and API endpoints for **category**. Maps routes to **category** data models. | [`backend/models/Category.js`](file:///E:/3pShop/backend/models/Category.js)<br>[`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js) |
| [`backend/controllers/contactController.js`](file:///E:/3pShop/backend/controllers/contactController.js) | Controller handling request/response logic and API endpoints for **contact**. Maps routes to **contact** data models. | [`backend/models/ContactSubmission.js`](file:///E:/3pShop/backend/models/ContactSubmission.js)<br>[`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js) | [`backend/routes/contactRoutes.js`](file:///E:/3pShop/backend/routes/contactRoutes.js) |
| [`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js) | Controller handling request/response logic and API endpoints for **coupon**. Maps routes to **coupon** data models. | [`backend/models/Coupon.js`](file:///E:/3pShop/backend/models/Coupon.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Category.js`](file:///E:/3pShop/backend/models/Category.js)<br>[`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js) | [`backend/routes/couponRoutes.js`](file:///E:/3pShop/backend/routes/couponRoutes.js) |
| [`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js) | Controller handling request/response logic and API endpoints for **landingPage**. Maps routes to **landingPage** data models. | [`backend/models/LandingPage.js`](file:///E:/3pShop/backend/models/LandingPage.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/landingPageRoutes.js`](file:///E:/3pShop/backend/routes/landingPageRoutes.js) |
| [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js) | Controller handling request/response logic and API endpoints for **order**. Maps routes to **order** data models. | [`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/models/Cart.js`](file:///E:/3pShop/backend/models/Cart.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Coupon.js`](file:///E:/3pShop/backend/models/Coupon.js)<br>[`backend/models/LandingPage.js`](file:///E:/3pShop/backend/models/LandingPage.js)<br>[`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js)<br>[`backend/models/PaymentMethod.js`](file:///E:/3pShop/backend/models/PaymentMethod.js)<br>[`backend/services/courierService.js`](file:///E:/3pShop/backend/services/courierService.js)<br>[`backend/utils/emailTemplates.js`](file:///E:/3pShop/backend/utils/emailTemplates.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js)<br>[`backend/utils/paymentGatewayUtils.js`](file:///E:/3pShop/backend/utils/paymentGatewayUtils.js)<br>[`backend/utils/customerRiskUtils.js`](file:///E:/3pShop/backend/utils/customerRiskUtils.js)<br>[`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js)<br>[`backend/utils/productVariants.js`](file:///E:/3pShop/backend/utils/productVariants.js)<br>[`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js) | [`backend/routes/orderRoutes.js`](file:///E:/3pShop/backend/routes/orderRoutes.js) |
| [`backend/controllers/paymentController.js`](file:///E:/3pShop/backend/controllers/paymentController.js) | Controller handling request/response logic and API endpoints for **payment**. Maps routes to **payment** data models. | [`backend/models/PaymentMethod.js`](file:///E:/3pShop/backend/models/PaymentMethod.js)<br>[`backend/utils/paymentGatewayUtils.js`](file:///E:/3pShop/backend/utils/paymentGatewayUtils.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js) |
| [`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js) | Controller handling request/response logic and API endpoints for **product**. Maps routes to **product** data models. | [`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Category.js`](file:///E:/3pShop/backend/models/Category.js)<br>[`backend/models/ProductImage.js`](file:///E:/3pShop/backend/models/ProductImage.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/productVariants.js`](file:///E:/3pShop/backend/utils/productVariants.js)<br>[`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js)<br>[`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js) | [`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js) |
| [`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js) | Controller handling request/response logic and API endpoints for **productEngagement**. Maps routes to **productEngagement** data models. | [`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/ProductReview.js`](file:///E:/3pShop/backend/models/ProductReview.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js) | [`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js) |
| [`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js) | Controller handling request/response logic and API endpoints for **purchase**. Maps routes to **purchase** data models. | [`backend/models/Purchase.js`](file:///E:/3pShop/backend/models/Purchase.js)<br>[`backend/models/Supplier.js`](file:///E:/3pShop/backend/models/Supplier.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/AccountEntry.js`](file:///E:/3pShop/backend/models/AccountEntry.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/purchaseRoutes.js`](file:///E:/3pShop/backend/routes/purchaseRoutes.js) |
| [`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js) | Controller handling request/response logic and API endpoints for **report**. Maps routes to **report** data models. | [`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/models/Purchase.js`](file:///E:/3pShop/backend/models/Purchase.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/AbandonedOrder.js`](file:///E:/3pShop/backend/models/AbandonedOrder.js)<br>[`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js)<br>[`backend/models/AccountEntry.js`](file:///E:/3pShop/backend/models/AccountEntry.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/reportRoutes.js`](file:///E:/3pShop/backend/routes/reportRoutes.js) |
| [`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js) | Controller handling request/response logic and API endpoints for **shipping**. Maps routes to **shipping** data models. | [`backend/models/ShippingZone.js`](file:///E:/3pShop/backend/models/ShippingZone.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js)<br>[`backend/utils/bangladeshLocations.js`](file:///E:/3pShop/backend/utils/bangladeshLocations.js) | [`backend/routes/shippingRoutes.js`](file:///E:/3pShop/backend/routes/shippingRoutes.js) |
| [`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js) | Controller handling request/response logic and API endpoints for **staff**. Maps routes to **staff** data models. | [`backend/models/StaffMember.js`](file:///E:/3pShop/backend/models/StaffMember.js)<br>[`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/staffRoutes.js`](file:///E:/3pShop/backend/routes/staffRoutes.js) |
| [`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js) | Controller handling request/response logic and API endpoints for **subscription**. Maps routes to **subscription** data models. | [`backend/models/SubscriptionPlan.js`](file:///E:/3pShop/backend/models/SubscriptionPlan.js)<br>[`backend/models/VendorSubscription.js`](file:///E:/3pShop/backend/models/VendorSubscription.js)<br>[`backend/models/ProductSubscription.js`](file:///E:/3pShop/backend/models/ProductSubscription.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js)<br>[`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js) | [`backend/routes/subscriptionRoutes.js`](file:///E:/3pShop/backend/routes/subscriptionRoutes.js) |
| [`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js) | Controller handling request/response logic and API endpoints for **supportTicket**. Maps routes to **supportTicket** data models. | [`backend/models/SupportTicket.js`](file:///E:/3pShop/backend/models/SupportTicket.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js)<br>[`backend/utils/emailTemplates.js`](file:///E:/3pShop/backend/utils/emailTemplates.js) | [`backend/routes/supportTicketRoutes.js`](file:///E:/3pShop/backend/routes/supportTicketRoutes.js) |
| [`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js) | Controller handling request/response logic and API endpoints for **vendor**. Maps routes to **vendor** data models. | [`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/config/cloudinary.js`](file:///E:/3pShop/backend/config/cloudinary.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/vendorUtils.js`](file:///E:/3pShop/backend/utils/vendorUtils.js) | [`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js) |
| [`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js) | Controller handling request/response logic and API endpoints for **vendorEngagement**. Maps routes to **vendorEngagement** data models. | [`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/VendorReview.js`](file:///E:/3pShop/backend/models/VendorReview.js)<br>[`backend/models/VendorContactMessage.js`](file:///E:/3pShop/backend/models/VendorContactMessage.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/utils/vendorUtils.js`](file:///E:/3pShop/backend/utils/vendorUtils.js)<br>[`backend/utils/emailTemplates.js`](file:///E:/3pShop/backend/utils/emailTemplates.js) | [`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js) |
| [`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js) | Controller handling request/response logic and API endpoints for **vendorMessage**. Maps routes to **vendorMessage** data models. | [`backend/models/VendorConversation.js`](file:///E:/3pShop/backend/models/VendorConversation.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js)<br>[`backend/utils/emailTemplates.js`](file:///E:/3pShop/backend/utils/emailTemplates.js) | [`backend/routes/vendorMessageRoutes.js`](file:///E:/3pShop/backend/routes/vendorMessageRoutes.js) |
| [`backend/controllers/verificationController.js`](file:///E:/3pShop/backend/controllers/verificationController.js) | Controller handling request/response logic and API endpoints for **verification**. Maps routes to **verification** data models. | [`backend/models/VendorVerification.js`](file:///E:/3pShop/backend/models/VendorVerification.js)<br>[`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | [`backend/routes/verificationRoutes.js`](file:///E:/3pShop/backend/routes/verificationRoutes.js) |
| [`backend/controllers/wishlistController.js`](file:///E:/3pShop/backend/controllers/wishlistController.js) | Controller handling request/response logic and API endpoints for **wishlist**. Maps routes to **wishlist** data models. | [`backend/models/Wishlist.js`](file:///E:/3pShop/backend/models/Wishlist.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js) | [`backend/routes/wishlistRoutes.js`](file:///E:/3pShop/backend/routes/wishlistRoutes.js) |
| [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js) | Express middleware function handling custom pipeline logic for **auth** (e.g. auth, upload, caching). | [`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js) | [`backend/routes/abandonedOrderRoutes.js`](file:///E:/3pShop/backend/routes/abandonedOrderRoutes.js)<br>[`backend/routes/accountRoutes.js`](file:///E:/3pShop/backend/routes/accountRoutes.js)<br>[`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js)<br>[`backend/routes/cartRoutes.js`](file:///E:/3pShop/backend/routes/cartRoutes.js)<br>[`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js)<br>[`backend/routes/contactRoutes.js`](file:///E:/3pShop/backend/routes/contactRoutes.js)<br>[`backend/routes/couponRoutes.js`](file:///E:/3pShop/backend/routes/couponRoutes.js)<br>[`backend/routes/landingPageRoutes.js`](file:///E:/3pShop/backend/routes/landingPageRoutes.js)<br>[`backend/routes/orderRoutes.js`](file:///E:/3pShop/backend/routes/orderRoutes.js)<br>[`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js)<br>[`backend/routes/purchaseRoutes.js`](file:///E:/3pShop/backend/routes/purchaseRoutes.js)<br>[`backend/routes/reportRoutes.js`](file:///E:/3pShop/backend/routes/reportRoutes.js)<br>[`backend/routes/shippingRoutes.js`](file:///E:/3pShop/backend/routes/shippingRoutes.js)<br>[`backend/routes/staffRoutes.js`](file:///E:/3pShop/backend/routes/staffRoutes.js)<br>[`backend/routes/subscriptionRoutes.js`](file:///E:/3pShop/backend/routes/subscriptionRoutes.js)<br>[`backend/routes/supportTicketRoutes.js`](file:///E:/3pShop/backend/routes/supportTicketRoutes.js)<br>[`backend/routes/vendorMessageRoutes.js`](file:///E:/3pShop/backend/routes/vendorMessageRoutes.js)<br>[`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js)<br>[`backend/routes/verificationRoutes.js`](file:///E:/3pShop/backend/routes/verificationRoutes.js)<br>[`backend/routes/wishlistRoutes.js`](file:///E:/3pShop/backend/routes/wishlistRoutes.js) |
| [`backend/middlewares/bannerUpload.js`](file:///E:/3pShop/backend/middlewares/bannerUpload.js) | Express middleware function handling custom pipeline logic for **bannerUpload** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js) |
| [`backend/middlewares/errorHandler.js`](file:///E:/3pShop/backend/middlewares/errorHandler.js) | Express middleware function handling custom pipeline logic for **errorHandler** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js) | Express middleware function handling custom pipeline logic for **marketplaceMode** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/routes/staffRoutes.js`](file:///E:/3pShop/backend/routes/staffRoutes.js)<br>[`backend/routes/subscriptionRoutes.js`](file:///E:/3pShop/backend/routes/subscriptionRoutes.js)<br>[`backend/routes/vendorMessageRoutes.js`](file:///E:/3pShop/backend/routes/vendorMessageRoutes.js)<br>[`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js)<br>[`backend/routes/verificationRoutes.js`](file:///E:/3pShop/backend/routes/verificationRoutes.js) |
| [`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | Express middleware function handling custom pipeline logic for **responseCache** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/bannerController.js`](file:///E:/3pShop/backend/controllers/bannerController.js)<br>[`backend/controllers/categoryController.js`](file:///E:/3pShop/backend/controllers/categoryController.js)<br>[`backend/controllers/paymentController.js`](file:///E:/3pShop/backend/controllers/paymentController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js)<br>[`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js)<br>[`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js) |
| [`backend/middlewares/singleStoreResponseSanitizer.js`](file:///E:/3pShop/backend/middlewares/singleStoreResponseSanitizer.js) | Express middleware function handling custom pipeline logic for **singleStoreResponseSanitizer** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/middlewares/upload.js`](file:///E:/3pShop/backend/middlewares/upload.js) | Express middleware function handling custom pipeline logic for **upload** (e.g. auth, upload, caching). | *None (Self-contained)* | [`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js)<br>[`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js)<br>[`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js) |
| [`backend/models/AbandonedOrder.js`](file:///E:/3pShop/backend/models/AbandonedOrder.js) | Mongoose database schema definition and Model representing the **AbandonedOrder** collection. | *None (Self-contained)* | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js) |
| [`backend/models/AccountEntry.js`](file:///E:/3pShop/backend/models/AccountEntry.js) | Mongoose database schema definition and Model representing the **AccountEntry** collection. | *None (Self-contained)* | [`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js) |
| [`backend/models/Banner.js`](file:///E:/3pShop/backend/models/Banner.js) | Mongoose database schema definition and Model representing the **Banner** collection. | *None (Self-contained)* | [`backend/controllers/bannerController.js`](file:///E:/3pShop/backend/controllers/bannerController.js) |
| [`backend/models/Cart.js`](file:///E:/3pShop/backend/models/Cart.js) | Mongoose database schema definition and Model representing the **Cart** collection. | *None (Self-contained)* | [`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js) |
| [`backend/models/Category.js`](file:///E:/3pShop/backend/models/Category.js) | Mongoose database schema definition and Model representing the **Category** collection. | *None (Self-contained)* | [`backend/controllers/categoryController.js`](file:///E:/3pShop/backend/controllers/categoryController.js)<br>[`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/services/sitemapService.js`](file:///E:/3pShop/backend/services/sitemapService.js) |
| [`backend/models/ContactSubmission.js`](file:///E:/3pShop/backend/models/ContactSubmission.js) | Mongoose database schema definition and Model representing the **ContactSubmission** collection. | *None (Self-contained)* | [`backend/controllers/contactController.js`](file:///E:/3pShop/backend/controllers/contactController.js) |
| [`backend/models/Coupon.js`](file:///E:/3pShop/backend/models/Coupon.js) | Mongoose database schema definition and Model representing the **Coupon** collection. | *None (Self-contained)* | [`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js) |
| [`backend/models/LandingPage.js`](file:///E:/3pShop/backend/models/LandingPage.js) | Mongoose database schema definition and Model representing the **LandingPage** collection. | *None (Self-contained)* | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/services/sitemapService.js`](file:///E:/3pShop/backend/services/sitemapService.js) |
| [`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js) | Mongoose database schema definition and Model representing the **Order** collection. | *None (Self-contained)* | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) |
| [`backend/models/PaymentMethod.js`](file:///E:/3pShop/backend/models/PaymentMethod.js) | Mongoose database schema definition and Model representing the **PaymentMethod** collection. | *None (Self-contained)* | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/paymentController.js`](file:///E:/3pShop/backend/controllers/paymentController.js) |
| [`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js) | Mongoose database schema definition and Model representing the **Product** collection. | *None (Self-contained)* | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js)<br>[`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js)<br>[`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js)<br>[`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js)<br>[`backend/controllers/wishlistController.js`](file:///E:/3pShop/backend/controllers/wishlistController.js)<br>[`backend/services/sitemapService.js`](file:///E:/3pShop/backend/services/sitemapService.js)<br>[`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js)<br>[`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js) |
| [`backend/models/ProductImage.js`](file:///E:/3pShop/backend/models/ProductImage.js) | Mongoose database schema definition and Model representing the **ProductImage** collection. | *None (Self-contained)* | [`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js) |
| [`backend/models/ProductReview.js`](file:///E:/3pShop/backend/models/ProductReview.js) | Mongoose database schema definition and Model representing the **ProductReview** collection. | *None (Self-contained)* | [`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js) |
| [`backend/models/ProductSubscription.js`](file:///E:/3pShop/backend/models/ProductSubscription.js) | Mongoose database schema definition and Model representing the **ProductSubscription** collection. | *None (Self-contained)* | [`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) |
| [`backend/models/Purchase.js`](file:///E:/3pShop/backend/models/Purchase.js) | Mongoose database schema definition and Model representing the **Purchase** collection. | *None (Self-contained)* | [`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js) |
| [`backend/models/ShippingZone.js`](file:///E:/3pShop/backend/models/ShippingZone.js) | Mongoose database schema definition and Model representing the **ShippingZone** collection. | *None (Self-contained)* | [`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js)<br>[`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js) |
| [`backend/models/StaffMember.js`](file:///E:/3pShop/backend/models/StaffMember.js) | Mongoose database schema definition and Model representing the **StaffMember** collection. | *None (Self-contained)* | [`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) |
| [`backend/models/SubscriptionPlan.js`](file:///E:/3pShop/backend/models/SubscriptionPlan.js) | Mongoose database schema definition and Model representing the **SubscriptionPlan** collection. | *None (Self-contained)* | [`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js) |
| [`backend/models/Supplier.js`](file:///E:/3pShop/backend/models/Supplier.js) | Mongoose database schema definition and Model representing the **Supplier** collection. | *None (Self-contained)* | [`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js) |
| [`backend/models/SupportTicket.js`](file:///E:/3pShop/backend/models/SupportTicket.js) | Mongoose database schema definition and Model representing the **SupportTicket** collection. | *None (Self-contained)* | [`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js) |
| [`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js) | Mongoose database schema definition and Model representing the **User** collection. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js)<br>[`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js)<br>[`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js) |
| [`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js) | Mongoose database schema definition and Model representing the **Vendor** collection. | *None (Self-contained)* | [`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js)<br>[`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js)<br>[`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js)<br>[`backend/controllers/verificationController.js`](file:///E:/3pShop/backend/controllers/verificationController.js)<br>[`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) |
| [`backend/models/VendorContactMessage.js`](file:///E:/3pShop/backend/models/VendorContactMessage.js) | Mongoose database schema definition and Model representing the **VendorContactMessage** collection. | *None (Self-contained)* | [`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js) |
| [`backend/models/VendorConversation.js`](file:///E:/3pShop/backend/models/VendorConversation.js) | Mongoose database schema definition and Model representing the **VendorConversation** collection. | *None (Self-contained)* | [`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js) |
| [`backend/models/VendorReview.js`](file:///E:/3pShop/backend/models/VendorReview.js) | Mongoose database schema definition and Model representing the **VendorReview** collection. | *None (Self-contained)* | [`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js) |
| [`backend/models/VendorSubscription.js`](file:///E:/3pShop/backend/models/VendorSubscription.js) | Mongoose database schema definition and Model representing the **VendorSubscription** collection. | *None (Self-contained)* | [`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js) |
| [`backend/models/VendorVerification.js`](file:///E:/3pShop/backend/models/VendorVerification.js) | Mongoose database schema definition and Model representing the **VendorVerification** collection. | *None (Self-contained)* | [`backend/controllers/verificationController.js`](file:///E:/3pShop/backend/controllers/verificationController.js) |
| [`backend/models/Wishlist.js`](file:///E:/3pShop/backend/models/Wishlist.js) | Mongoose database schema definition and Model representing the **Wishlist** collection. | *None (Self-contained)* | [`backend/controllers/wishlistController.js`](file:///E:/3pShop/backend/controllers/wishlistController.js) |
| [`backend/package.json`](file:///E:/3pShop/backend/package.json) | JSON Configuration metadata for **package**. | *None (Self-contained)* | *None (Entry point or standalone)* |
| [`backend/routes/abandonedOrderRoutes.js`](file:///E:/3pShop/backend/routes/abandonedOrderRoutes.js) | Route definitions mapping incoming HTTP endpoints for **abandonedOrder** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/accountRoutes.js`](file:///E:/3pShop/backend/routes/accountRoutes.js) | Route definitions mapping incoming HTTP endpoints for **account** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js) | Route definitions mapping incoming HTTP endpoints for **auth** to its respective controller. | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/paymentController.js`](file:///E:/3pShop/backend/controllers/paymentController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js)<br>[`backend/middlewares/upload.js`](file:///E:/3pShop/backend/middlewares/upload.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js) | Route definitions mapping incoming HTTP endpoints for **banner** to its respective controller. | [`backend/controllers/bannerController.js`](file:///E:/3pShop/backend/controllers/bannerController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/bannerUpload.js`](file:///E:/3pShop/backend/middlewares/bannerUpload.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/cartRoutes.js`](file:///E:/3pShop/backend/routes/cartRoutes.js) | Route definitions mapping incoming HTTP endpoints for **cart** to its respective controller. | [`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js) | Route definitions mapping incoming HTTP endpoints for **category** to its respective controller. | [`backend/controllers/categoryController.js`](file:///E:/3pShop/backend/controllers/categoryController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/upload.js`](file:///E:/3pShop/backend/middlewares/upload.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/contactRoutes.js`](file:///E:/3pShop/backend/routes/contactRoutes.js) | Route definitions mapping incoming HTTP endpoints for **contact** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/contactController.js`](file:///E:/3pShop/backend/controllers/contactController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/couponRoutes.js`](file:///E:/3pShop/backend/routes/couponRoutes.js) | Route definitions mapping incoming HTTP endpoints for **coupon** to its respective controller. | [`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/landingPageRoutes.js`](file:///E:/3pShop/backend/routes/landingPageRoutes.js) | Route definitions mapping incoming HTTP endpoints for **landingPage** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/orderRoutes.js`](file:///E:/3pShop/backend/routes/orderRoutes.js) | Route definitions mapping incoming HTTP endpoints for **order** to its respective controller. | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js) | Route definitions mapping incoming HTTP endpoints for **product** to its respective controller. | [`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js)<br>[`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/upload.js`](file:///E:/3pShop/backend/middlewares/upload.js)<br>[`backend/middlewares/responseCache.js`](file:///E:/3pShop/backend/middlewares/responseCache.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/purchaseRoutes.js`](file:///E:/3pShop/backend/routes/purchaseRoutes.js) | Route definitions mapping incoming HTTP endpoints for **purchase** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js) | *None (Entry point or standalone)* |
| [`backend/routes/reportRoutes.js`](file:///E:/3pShop/backend/routes/reportRoutes.js) | Route definitions mapping incoming HTTP endpoints for **report** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/shippingRoutes.js`](file:///E:/3pShop/backend/routes/shippingRoutes.js) | Route definitions mapping incoming HTTP endpoints for **shipping** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/routes/staffRoutes.js`](file:///E:/3pShop/backend/routes/staffRoutes.js) | Route definitions mapping incoming HTTP endpoints for **staff** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js)<br>[`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js) | *None (Entry point or standalone)* |
| [`backend/routes/subscriptionRoutes.js`](file:///E:/3pShop/backend/routes/subscriptionRoutes.js) | Route definitions mapping incoming HTTP endpoints for **subscription** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js)<br>[`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js) | *None (Entry point or standalone)* |
| [`backend/routes/supportTicketRoutes.js`](file:///E:/3pShop/backend/routes/supportTicketRoutes.js) | Route definitions mapping incoming HTTP endpoints for **supportTicket** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js) | *None (Entry point or standalone)* |
| [`backend/routes/vendorMessageRoutes.js`](file:///E:/3pShop/backend/routes/vendorMessageRoutes.js) | Route definitions mapping incoming HTTP endpoints for **vendorMessage** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js) | *None (Entry point or standalone)* |
| [`backend/routes/vendorRoutes.js`](file:///E:/3pShop/backend/routes/vendorRoutes.js) | Route definitions mapping incoming HTTP endpoints for **vendor** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js)<br>[`backend/middlewares/upload.js`](file:///E:/3pShop/backend/middlewares/upload.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js) | *None (Entry point or standalone)* |
| [`backend/routes/verificationRoutes.js`](file:///E:/3pShop/backend/routes/verificationRoutes.js) | Route definitions mapping incoming HTTP endpoints for **verification** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/middlewares/marketplaceMode.js`](file:///E:/3pShop/backend/middlewares/marketplaceMode.js)<br>[`backend/controllers/verificationController.js`](file:///E:/3pShop/backend/controllers/verificationController.js) | *None (Entry point or standalone)* |
| [`backend/routes/wishlistRoutes.js`](file:///E:/3pShop/backend/routes/wishlistRoutes.js) | Route definitions mapping incoming HTTP endpoints for **wishlist** to its respective controller. | [`backend/middlewares/auth.js`](file:///E:/3pShop/backend/middlewares/auth.js)<br>[`backend/controllers/wishlistController.js`](file:///E:/3pShop/backend/controllers/wishlistController.js) | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/server.js`](file:///E:/3pShop/backend/server.js) | Backend server entry point (HTTP listener setup). | [`backend/app.js`](file:///E:/3pShop/backend/app.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) | *None (Entry point or standalone)* |
| [`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) | Source file representing **server**. | [`backend/routes/authRoutes.js`](file:///E:/3pShop/backend/routes/authRoutes.js)<br>[`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/routes/categoryRoutes.js`](file:///E:/3pShop/backend/routes/categoryRoutes.js)<br>[`backend/routes/productRoutes.js`](file:///E:/3pShop/backend/routes/productRoutes.js)<br>[`backend/routes/cartRoutes.js`](file:///E:/3pShop/backend/routes/cartRoutes.js)<br>[`backend/routes/orderRoutes.js`](file:///E:/3pShop/backend/routes/orderRoutes.js)<br>[`backend/routes/couponRoutes.js`](file:///E:/3pShop/backend/routes/couponRoutes.js)<br>[`backend/routes/bannerRoutes.js`](file:///E:/3pShop/backend/routes/bannerRoutes.js)<br>[`backend/routes/shippingRoutes.js`](file:///E:/3pShop/backend/routes/shippingRoutes.js)<br>[`backend/routes/wishlistRoutes.js`](file:///E:/3pShop/backend/routes/wishlistRoutes.js)<br>[`backend/routes/accountRoutes.js`](file:///E:/3pShop/backend/routes/accountRoutes.js)<br>[`backend/routes/landingPageRoutes.js`](file:///E:/3pShop/backend/routes/landingPageRoutes.js)<br>[`backend/routes/abandonedOrderRoutes.js`](file:///E:/3pShop/backend/routes/abandonedOrderRoutes.js)<br>[`backend/routes/reportRoutes.js`](file:///E:/3pShop/backend/routes/reportRoutes.js)<br>[`backend/routes/contactRoutes.js`](file:///E:/3pShop/backend/routes/contactRoutes.js)<br>[`backend/middlewares/errorHandler.js`](file:///E:/3pShop/backend/middlewares/errorHandler.js)<br>[`backend/middlewares/singleStoreResponseSanitizer.js`](file:///E:/3pShop/backend/middlewares/singleStoreResponseSanitizer.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) | *None (Entry point or standalone)* |
| [`backend/services/analyticsService.js`](file:///E:/3pShop/backend/services/analyticsService.js) | Service layer containing encapsulated business logic and third-party integrations for **analytics**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js) |
| [`backend/services/courierService.js`](file:///E:/3pShop/backend/services/courierService.js) | Service layer containing encapsulated business logic and third-party integrations for **courier**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js) |
| [`backend/services/seoAnalyticsService.js`](file:///E:/3pShop/backend/services/seoAnalyticsService.js) | Service layer containing encapsulated business logic and third-party integrations for **seoAnalytics**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js) |
| [`backend/services/seoService.js`](file:///E:/3pShop/backend/services/seoService.js) | Service layer containing encapsulated business logic and third-party integrations for **seo**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js) |
| [`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js) | Service layer containing encapsulated business logic and third-party integrations for **shipping**. | [`backend/models/ShippingZone.js`](file:///E:/3pShop/backend/models/ShippingZone.js)<br>[`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js)<br>[`backend/utils/bangladeshLocations.js`](file:///E:/3pShop/backend/utils/bangladeshLocations.js) | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js) |
| [`backend/services/sitemapService.js`](file:///E:/3pShop/backend/services/sitemapService.js) | Service layer containing encapsulated business logic and third-party integrations for **sitemap**. | [`backend/models/Category.js`](file:///E:/3pShop/backend/models/Category.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/LandingPage.js`](file:///E:/3pShop/backend/models/LandingPage.js) | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js) |
| [`backend/utils/bangladeshLocations.js`](file:///E:/3pShop/backend/utils/bangladeshLocations.js) | Utility helper functions and config definitions for **bangladeshLocations**. | *None (Self-contained)* | [`backend/controllers/shippingController.js`](file:///E:/3pShop/backend/controllers/shippingController.js)<br>[`backend/services/shippingService.js`](file:///E:/3pShop/backend/services/shippingService.js) |
| [`backend/utils/commissionUtils.js`](file:///E:/3pShop/backend/utils/commissionUtils.js) | Utility helper functions and config definitions for **commissionUtils**. | *None (Self-contained)* | *None (Entry point or standalone)* |
| [`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js) | Utility helper functions and config definitions for **couponUtils**. | [`backend/models/Coupon.js`](file:///E:/3pShop/backend/models/Coupon.js)<br>[`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js) | [`backend/controllers/couponController.js`](file:///E:/3pShop/backend/controllers/couponController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) |
| [`backend/utils/customerRiskUtils.js`](file:///E:/3pShop/backend/utils/customerRiskUtils.js) | Utility helper functions and config definitions for **customerRiskUtils**. | *None (Self-contained)* | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js) |
| [`backend/utils/emailTemplates.js`](file:///E:/3pShop/backend/utils/emailTemplates.js) | Utility helper functions and config definitions for **emailTemplates**. | *None (Self-contained)* | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js)<br>[`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js) |
| [`backend/utils/imageUtils.js`](file:///E:/3pShop/backend/utils/imageUtils.js) | Utility helper functions and config definitions for **imageUtils**. | [`backend/models/ProductImage.js`](file:///E:/3pShop/backend/models/ProductImage.js) | [`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js)<br>[`backend/controllers/wishlistController.js`](file:///E:/3pShop/backend/controllers/wishlistController.js) |
| [`backend/utils/marketplaceAccess.js`](file:///E:/3pShop/backend/utils/marketplaceAccess.js) | Utility helper functions and config definitions for **marketplaceAccess**. | [`backend/models/Vendor.js`](file:///E:/3pShop/backend/models/Vendor.js)<br>[`backend/models/StaffMember.js`](file:///E:/3pShop/backend/models/StaffMember.js) | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/accountController.js`](file:///E:/3pShop/backend/controllers/accountController.js)<br>[`backend/controllers/landingPageController.js`](file:///E:/3pShop/backend/controllers/landingPageController.js)<br>[`backend/controllers/purchaseController.js`](file:///E:/3pShop/backend/controllers/purchaseController.js)<br>[`backend/controllers/reportController.js`](file:///E:/3pShop/backend/controllers/reportController.js)<br>[`backend/controllers/staffController.js`](file:///E:/3pShop/backend/controllers/staffController.js)<br>[`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/controllers/supportTicketController.js`](file:///E:/3pShop/backend/controllers/supportTicketController.js)<br>[`backend/controllers/vendorMessageController.js`](file:///E:/3pShop/backend/controllers/vendorMessageController.js)<br>[`backend/controllers/verificationController.js`](file:///E:/3pShop/backend/controllers/verificationController.js) |
| [`backend/utils/notificationUtils.js`](file:///E:/3pShop/backend/utils/notificationUtils.js) | Utility helper functions and config definitions for **notificationUtils**. | [`backend/models/User.js`](file:///E:/3pShop/backend/models/User.js) | [`backend/controllers/authController.js`](file:///E:/3pShop/backend/controllers/authController.js)<br>[`backend/controllers/contactController.js`](file:///E:/3pShop/backend/controllers/contactController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/productEngagementController.js`](file:///E:/3pShop/backend/controllers/productEngagementController.js) |
| [`backend/utils/paymentGatewayUtils.js`](file:///E:/3pShop/backend/utils/paymentGatewayUtils.js) | Utility helper functions and config definitions for **paymentGatewayUtils**. | *None (Self-contained)* | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/paymentController.js`](file:///E:/3pShop/backend/controllers/paymentController.js) |
| [`backend/utils/productVariants.js`](file:///E:/3pShop/backend/utils/productVariants.js) | Utility helper functions and config definitions for **productVariants**. | *None (Self-contained)* | [`backend/controllers/abandonedOrderController.js`](file:///E:/3pShop/backend/controllers/abandonedOrderController.js)<br>[`backend/controllers/cartController.js`](file:///E:/3pShop/backend/controllers/cartController.js)<br>[`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js) |
| [`backend/utils/recurringSubscriptionUtils.js`](file:///E:/3pShop/backend/utils/recurringSubscriptionUtils.js) | Utility helper functions and config definitions for **recurringSubscriptionUtils**. | [`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/Order.js`](file:///E:/3pShop/backend/models/Order.js)<br>[`backend/models/ProductSubscription.js`](file:///E:/3pShop/backend/models/ProductSubscription.js)<br>[`backend/utils/couponUtils.js`](file:///E:/3pShop/backend/utils/couponUtils.js) | [`backend/controllers/orderController.js`](file:///E:/3pShop/backend/controllers/orderController.js)<br>[`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js)<br>[`backend/server.js`](file:///E:/3pShop/backend/server.js)<br>[`backend/server.mjs`](file:///E:/3pShop/backend/server.mjs) |
| [`backend/utils/subscriptionUtils.js`](file:///E:/3pShop/backend/utils/subscriptionUtils.js) | Utility helper functions and config definitions for **subscriptionUtils**. | [`backend/models/Product.js`](file:///E:/3pShop/backend/models/Product.js)<br>[`backend/models/SubscriptionPlan.js`](file:///E:/3pShop/backend/models/SubscriptionPlan.js)<br>[`backend/models/VendorSubscription.js`](file:///E:/3pShop/backend/models/VendorSubscription.js) | [`backend/controllers/productController.js`](file:///E:/3pShop/backend/controllers/productController.js)<br>[`backend/controllers/subscriptionController.js`](file:///E:/3pShop/backend/controllers/subscriptionController.js) |
| [`backend/utils/vendorUtils.js`](file:///E:/3pShop/backend/utils/vendorUtils.js) | Utility helper functions and config definitions for **vendorUtils**. | *None (Self-contained)* | [`backend/controllers/vendorController.js`](file:///E:/3pShop/backend/controllers/vendorController.js)<br>[`backend/controllers/vendorEngagementController.js`](file:///E:/3pShop/backend/controllers/vendorEngagementController.js) |

---
*Note: This project map can be automatically regenerated by running \`generate-map.bat\` or \`node scripts/generate_project_map.js\` in the root folder.*
