# sandeepkumar1703/commercehub-enterprise-platform architecture

> Architecture diagram of the GitHub repository sandeepkumar1703/commercehub-enterprise-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sandeepkumar1703/commercehub-enterprise-platform
- Repository: https://github.com/sandeepkumar1703/commercehub-enterprise-platform

## Overview

Vynk is a modular e-commerce platform with Spring Boot REST APIs and a frontend-side Express server. Its documented customer journey spans product discovery, cart and wishlist, ordering, payment, and shipping; identity, catalog, and admin analytics are supporting capabilities. The sampled review implementation confirms controller-to-service calls and service-level repository, mapper, and purchase-verification access. Other domain modules are represented from the tree and README, but their internal wiring was not sampled, so no speculative links are drawn.

Main entry points: [`backend/src/main/java/com/commercehub/backend/review/service/impl/ReviewServiceImpl.java`](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/service/impl/ReviewServiceImpl.java) (Review service), [`backend/src/main/java/com/commercehub/backend/order/repository/OrderItemRepository.java`](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/order/repository/OrderItemRepository.java) (Order item repository), [`backend/src/main/java/com/commercehub/backend/user/repository/UserRepository.java`](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/user/repository/UserRepository.java) (User repository), [`backend/src/main/java/com/commercehub/backend/review/repository/ReviewRepository.java`](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/repository/ReviewRepository.java) (Review repository)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_commerce["Shopping and fulfillment"]
  node_cart["Shopping cart"]
  node_wishlist["Wishlist"]
  node_coupons["Coupons"]
  node_orders["Orders"]
  node_payments["Payments"]
  node_shipping["Shipping"]
  node_orderitems["Order item repository"]
end

subgraph group_identity["Identity and access"]
  node_auth["Authentication"]
  node_access["Roles and permissions<br/>[RoleService.java]"]
  node_users["User management"]
  node_usersrepo["User repository"]
end

subgraph group_catalog["Catalog and engagement"]
  node_products["Products and search"]
  node_categories["Categories"]
  node_inventory["Inventory"]
  node_reviews["Reviews and ratings"]
  node_reviewservice["Review service"]
  node_reviewrepo["Review repository"]
  node_productsrepo["Product repository"]
  node_mapper["Review mapper<br/>[ReviewMapper.java]"]
end

subgraph group_operations["Administration"]
  node_dashboard["Admin dashboard"]
  node_analytics["Analytics"]
end

subgraph group_runtime["Application runtime"]
  node_frontend["Express API server<br/>[server.ts]"]
  node_backend["Spring Boot app"]
end

node_shopper(("Shopper"))
node_merchant(("Merchant / Admin"))
node_postgres[("PostgreSQL")]

node_shopper -->|"sends API requests"| node_frontend
node_shopper -->|"calls REST APIs"| node_backend
node_merchant -->|"calls REST APIs"| node_backend
node_reviews -->|"calls review service"| node_reviewservice
node_reviewservice -->|"queries and saves"| node_reviewrepo
node_reviewservice -->|"loads product"| node_productsrepo
node_reviewservice -->|"loads user"| node_usersrepo
node_reviewservice -->|"checks purchase"| node_orderitems
node_reviewservice -->|"maps review data"| node_mapper
node_reviewrepo -->|"persists review data"| node_postgres
node_productsrepo -->|"persists product data"| node_postgres
node_usersrepo -->|"persists user data"| node_postgres
node_orderitems -->|"reads order data"| node_postgres

click node_frontend "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/frontend/server.ts"
click node_backend "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/CommerceHubApplication.java"
click node_auth "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/auth/controller/AuthController.java"
click node_access "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/role/service/RoleService.java"
click node_users "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/user/controller/UserController.java"
click node_products "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/product/controller/ProductController.java"
click node_categories "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/category/controller/CategoryController.java"
click node_inventory "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/inventory/controller/InventoryController.java"
click node_reviews "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/controller/ReviewController.java"
click node_reviewservice "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/service/impl/ReviewServiceImpl.java"
click node_reviewrepo "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/repository/ReviewRepository.java"
click node_cart "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/cart/controller/CartController.java"
click node_wishlist "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/wishlist/controller/WishlistController.java"
click node_coupons "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/coupon/controller/CouponController.java"
click node_orders "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/order/controller/OrderController.java"
click node_payments "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/payment/controller/PaymentController.java"
click node_shipping "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/shipping/controller/ShippingController.java"
click node_dashboard "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/admin/controller/AdminDashboardController.java"
click node_analytics "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/analytics/controller/AnalyticsController.java"
click node_orderitems "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/order/repository/OrderItemRepository.java"
click node_productsrepo "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/product/repository/ProductRepository.java"
click node_usersrepo "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/user/repository/UserRepository.java"
click node_mapper "https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/mapper/ReviewMapper.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cart,node_wishlist,node_coupons,node_orders,node_payments,node_shipping,node_orderitems toneBlue
class node_auth,node_access,node_users,node_usersrepo,node_postgres toneAmber
class node_products,node_categories,node_inventory,node_reviews,node_reviewservice,node_reviewrepo,node_productsrepo,node_mapper toneMint
class node_dashboard,node_analytics toneRose
class node_frontend,node_backend,node_shopper,node_merchant toneIndigo
```

## Components

### Shopping and fulfillment

- [Shopping cart](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/cart/controller/CartController.java): `backend/src/main/java/com/commercehub/backend/cart/controller/CartController.java`
- [Wishlist](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/wishlist/controller/WishlistController.java): `backend/src/main/java/com/commercehub/backend/wishlist/controller/WishlistController.java`
- [Coupons](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/coupon/controller/CouponController.java): `backend/src/main/java/com/commercehub/backend/coupon/controller/CouponController.java`
- [Orders](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/order/controller/OrderController.java): `backend/src/main/java/com/commercehub/backend/order/controller/OrderController.java`
- [Payments](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/payment/controller/PaymentController.java): `backend/src/main/java/com/commercehub/backend/payment/controller/PaymentController.java`
- [Shipping](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/shipping/controller/ShippingController.java): `backend/src/main/java/com/commercehub/backend/shipping/controller/ShippingController.java`
- [Order item repository](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/order/repository/OrderItemRepository.java): `backend/src/main/java/com/commercehub/backend/order/repository/OrderItemRepository.java`

### Identity and access

- [Authentication](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/auth/controller/AuthController.java): `backend/src/main/java/com/commercehub/backend/auth/controller/AuthController.java`
- [Roles and permissions](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/role/service/RoleService.java): `backend/src/main/java/com/commercehub/backend/role/service/RoleService.java`
- [User management](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/user/controller/UserController.java): `backend/src/main/java/com/commercehub/backend/user/controller/UserController.java`
- [User repository](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/user/repository/UserRepository.java): `backend/src/main/java/com/commercehub/backend/user/repository/UserRepository.java`

### Catalog and engagement

- [Products and search](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/product/controller/ProductController.java): `backend/src/main/java/com/commercehub/backend/product/controller/ProductController.java`
- [Categories](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/category/controller/CategoryController.java): `backend/src/main/java/com/commercehub/backend/category/controller/CategoryController.java`
- [Inventory](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/inventory/controller/InventoryController.java): `backend/src/main/java/com/commercehub/backend/inventory/controller/InventoryController.java`
- [Reviews and ratings](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/controller/ReviewController.java): `backend/src/main/java/com/commercehub/backend/review/controller/ReviewController.java`
- [Review service](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/service/impl/ReviewServiceImpl.java): `backend/src/main/java/com/commercehub/backend/review/service/impl/ReviewServiceImpl.java`
- [Review repository](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/repository/ReviewRepository.java): `backend/src/main/java/com/commercehub/backend/review/repository/ReviewRepository.java`
- [Product repository](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/product/repository/ProductRepository.java): `backend/src/main/java/com/commercehub/backend/product/repository/ProductRepository.java`
- [Review mapper](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/review/mapper/ReviewMapper.java): `backend/src/main/java/com/commercehub/backend/review/mapper/ReviewMapper.java`

### Administration

- [Admin dashboard](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/admin/controller/AdminDashboardController.java): `backend/src/main/java/com/commercehub/backend/admin/controller/AdminDashboardController.java`
- [Analytics](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/analytics/controller/AnalyticsController.java): `backend/src/main/java/com/commercehub/backend/analytics/controller/AnalyticsController.java`

### Application runtime

- [Express API server](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/frontend/server.ts): `frontend/server.ts`
- [Spring Boot app](https://github.com/sandeepkumar1703/commercehub-enterprise-platform/blob/main/backend/src/main/java/com/commercehub/backend/CommerceHubApplication.java): `backend/src/main/java/com/commercehub/backend/CommerceHubApplication.java`

### Other components

- **Shopper**
- **Merchant / Admin**
- **PostgreSQL**

## Connections

- Shopper → Express API server: sends API requests
- Shopper → Spring Boot app: calls REST APIs
- Merchant / Admin → Spring Boot app: calls REST APIs
- Reviews and ratings → Review service: calls review service
- Review service → Review repository: queries and saves
- Review service → Product repository: loads product
- Review service → User repository: loads user
- Review service → Order item repository: checks purchase
- Review service → Review mapper: maps review data
- Review repository → PostgreSQL: persists review data
- Product repository → PostgreSQL: persists product data
- User repository → PostgreSQL: persists user data
- Order item repository → PostgreSQL: reads order data
