# newbee-ltd/newbee-mall architecture

> Architecture diagram of the GitHub repository newbee-ltd/newbee-mall, 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/newbee-ltd/newbee-mall
- Repository: https://github.com/newbee-ltd/newbee-mall

## Overview

NewBee Mall is a Spring Boot e-commerce application with customer storefront and administration workflows. A shopper discovers and searches products, manages a cart, submits an order, and can review or update order status; administrators manage catalog content and orders. The graph distinguishes the HTTP/controller layer from domain services and persistence. The README documents MyBatis and MySQL, while sampled excerpts confirm order and cart controller calls and selected admin service calls; unsampled service-to-mapper wiring is therefore not asserted.

Main entry points: [`src/main/java/ltd/newbee/mall/controller/mall/OrderController.java`](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/OrderController.java) (Order workflow), [`src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsController.java`](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsController.java) (Catalog management), [`src/main/java/ltd/newbee/mall/service/NewBeeMallCategoryService.java`](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallCategoryService.java) (Category service), [`src/main/java/ltd/newbee/mall/service/NewBeeMallShoppingCartService.java`](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallShoppingCartService.java) (Cart service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Customer storefront"]
  node_mall_pages["Storefront pages"]
  node_catalog_pages["Catalog browsing"]
  node_cart_pages["Shopping cart"]
  node_order_pages["Order workflow"]
  node_account_pages["Member center"]
end

subgraph group_admin["Mall administration"]
  node_admin_entry["Admin endpoints"]
  node_admin_catalog["Catalog management"]
  node_admin_categories["Category management"]
  node_admin_orders["Order management"]
  node_admin_users["Member management"]
end

subgraph group_domain["Domain services"]
  node_goods_service["Goods service"]
  node_category_service["Category service"]
  node_cart_service["Cart service"]
  node_order_service["Order service"]
  node_user_service["User service"]
  node_carousel_service["Carousel service"]
  node_index_service["Homepage config"]
end

subgraph group_persistence["Persistence"]
  node_goods_mapper["Goods mapper"]
  node_category_mapper["Category mapper"]
  node_cart_mapper["Cart mapper"]
  node_order_mapper["Order mappers"]
  node_mysql[("MySQL database")]
end

node_shopper(("Shopper"))
node_admin_user(("Administrator"))

node_shopper -->|"browses"| node_mall_pages
node_shopper -->|"searches"| node_catalog_pages
node_shopper -->|"manages cart"| node_cart_pages
node_shopper -->|"places orders"| node_order_pages
node_shopper -->|"manages account"| node_account_pages
node_admin_user -->|"opens console"| node_admin_entry
node_admin_user -->|"manages goods"| node_admin_catalog
node_admin_user -->|"manages categories"| node_admin_categories
node_admin_user -->|"manages orders"| node_admin_orders
node_admin_user -->|"manages members"| node_admin_users
node_order_pages -->|"loads cart"| node_cart_service
node_order_pages -->|"submits orders"| node_order_service
node_cart_pages -->|"updates cart"| node_cart_service
node_admin_catalog -->|"manages goods"| node_goods_service
node_admin_catalog -->|"loads categories"| node_category_service
node_admin_categories -->|"manages categories"| node_category_service
node_goods_service --> node_goods_mapper
node_category_service --> node_category_mapper
node_cart_service --> node_cart_mapper
node_order_service --> node_order_mapper
node_goods_mapper --> node_mysql
node_category_mapper --> node_mysql
node_cart_mapper --> node_mysql
node_order_mapper --> node_mysql

click node_mall_pages "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/IndexController.java"
click node_catalog_pages "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/GoodsController.java"
click node_cart_pages "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/ShoppingCartController.java"
click node_order_pages "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/OrderController.java"
click node_account_pages "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/PersonalController.java"
click node_admin_entry "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/AdminController.java"
click node_admin_catalog "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsController.java"
click node_admin_categories "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsCategoryController.java"
click node_admin_orders "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallOrderController.java"
click node_admin_users "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallUserController.java"
click node_goods_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallGoodsService.java"
click node_category_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallCategoryService.java"
click node_cart_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallShoppingCartService.java"
click node_order_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallOrderService.java"
click node_user_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallUserService.java"
click node_carousel_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallCarouselService.java"
click node_index_service "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallIndexConfigService.java"
click node_goods_mapper "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallGoodsMapper.java"
click node_category_mapper "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/GoodsCategoryMapper.java"
click node_cart_mapper "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallShoppingCartItemMapper.java"
click node_order_mapper "https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallOrderMapper.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_mall_pages,node_catalog_pages,node_cart_pages,node_order_pages,node_account_pages toneBlue
class node_admin_entry,node_admin_catalog,node_admin_categories,node_admin_orders,node_admin_users toneAmber
class node_goods_service,node_category_service,node_cart_service,node_order_service,node_user_service,node_carousel_service,node_index_service toneMint
class node_goods_mapper,node_category_mapper,node_cart_mapper,node_order_mapper,node_mysql toneRose
class node_shopper,node_admin_user toneIndigo
```

## Components

### Customer storefront

- [Storefront pages](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/IndexController.java): `src/main/java/ltd/newbee/mall/controller/mall/IndexController.java`
- [Catalog browsing](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/GoodsController.java): `src/main/java/ltd/newbee/mall/controller/mall/GoodsController.java`
- [Shopping cart](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/ShoppingCartController.java): `src/main/java/ltd/newbee/mall/controller/mall/ShoppingCartController.java`
- [Order workflow](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/OrderController.java): `src/main/java/ltd/newbee/mall/controller/mall/OrderController.java`
- [Member center](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/mall/PersonalController.java): `src/main/java/ltd/newbee/mall/controller/mall/PersonalController.java`

### Mall administration

- [Admin endpoints](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/AdminController.java): `src/main/java/ltd/newbee/mall/controller/admin/AdminController.java`
- [Catalog management](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsController.java): `src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsController.java`
- [Category management](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsCategoryController.java): `src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallGoodsCategoryController.java`
- [Order management](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallOrderController.java): `src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallOrderController.java`
- [Member management](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallUserController.java): `src/main/java/ltd/newbee/mall/controller/admin/NewBeeMallUserController.java`

### Domain services

- [Goods service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallGoodsService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallGoodsService.java`
- [Category service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallCategoryService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallCategoryService.java`
- [Cart service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallShoppingCartService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallShoppingCartService.java`
- [Order service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallOrderService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallOrderService.java`
- [User service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallUserService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallUserService.java`
- [Carousel service](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallCarouselService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallCarouselService.java`
- [Homepage config](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/service/NewBeeMallIndexConfigService.java): `src/main/java/ltd/newbee/mall/service/NewBeeMallIndexConfigService.java`

### Persistence

- [Goods mapper](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallGoodsMapper.java): `src/main/java/ltd/newbee/mall/dao/NewBeeMallGoodsMapper.java`
- [Category mapper](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/GoodsCategoryMapper.java): `src/main/java/ltd/newbee/mall/dao/GoodsCategoryMapper.java`
- [Cart mapper](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallShoppingCartItemMapper.java): `src/main/java/ltd/newbee/mall/dao/NewBeeMallShoppingCartItemMapper.java`
- [Order mappers](https://github.com/newbee-ltd/newbee-mall/blob/master/src/main/java/ltd/newbee/mall/dao/NewBeeMallOrderMapper.java): `src/main/java/ltd/newbee/mall/dao/NewBeeMallOrderMapper.java`
- **MySQL database**

### Other components

- **Shopper**
- **Administrator**

## Connections

- Shopper → Storefront pages: browses
- Shopper → Catalog browsing: searches
- Shopper → Shopping cart: manages cart
- Shopper → Order workflow: places orders
- Shopper → Member center: manages account
- Administrator → Admin endpoints: opens console
- Administrator → Catalog management: manages goods
- Administrator → Category management: manages categories
- Administrator → Order management: manages orders
- Administrator → Member management: manages members
- Order workflow → Cart service: loads cart
- Order workflow → Order service: submits orders
- Shopping cart → Cart service: updates cart
- Catalog management → Goods service: manages goods
- Catalog management → Category service: loads categories
- Category management → Category service: manages categories
- Goods service → Goods mapper
- Category service → Category mapper
- Cart service → Cart mapper
- Order service → Order mappers
- Goods mapper → MySQL database
- Category mapper → MySQL database
- Cart mapper → MySQL database
- Order mappers → MySQL database
