# talkpoin/ruoyi-spring-boot-all architecture

> Architecture diagram of the GitHub repository talkpoin/ruoyi-spring-boot-all, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/talkpoin/ruoyi-spring-boot-all
- Repository: https://github.com/talkpoin/ruoyi-spring-boot-all

## Overview

Yudao is a modular business application platform whose README describes admin and app services plus system, member, infrastructure, workflow, payment, mall, ERP, CRM, WeChat, and reporting modules. The sampled runtime paths expose part of that architecture: authentication and OAuth services, a code-based SSO demo, and mall order-query and brokerage capabilities. The graph emphasizes these visible user-to-result workflows; unsampled module internals and wiring are not inferred.

Main entry points: [`yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java`](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java) (App Brokerage API), [`yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageUserController.java`](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageUserController.java) (Admin Brokerage API), [`yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java`](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java) (Order Queries), [`yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordService.java`](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordService.java) (Brokerage Records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sso["SSO Demo"]
  node_sso_app["SSO Application"]
  node_sso_auth["Auth Controller"]
  node_sso_user["User Controller"]
  node_sso_oauth_client["OAuth Client<br/>[OAuth2Client.java]"]
  node_sso_user_client["User Client<br/>[UserClient.java]"]
  node_sso_security["Token Filter"]
  node_sso_config["Security Config"]
end

subgraph group_identity["Identity Services"]
  node_member_auth["Member Auth"]
  node_admin_auth["Admin Auth"]
  node_oauth_grant["OAuth Grants"]
  node_oauth_clients["OAuth Clients"]
end

subgraph group_mall["Mall Trade"]
  node_app_brokerage["App Brokerage API"]
  node_admin_brokerage["Admin Brokerage API"]
  node_brokerage_users["Brokerage Users"]
  node_brokerage_records["Brokerage Records"]
  node_brokerage_withdrawals["Brokerage Withdrawals"]
  node_brokerage_stats["Brokerage Statistics"]
  node_trade_orders["Order Queries"]
  node_order_query_contract["Order Query API"]
end

subgraph group_framework["Framework Utilities"]
  node_common["Common Utilities"]
  node_data_permission["Data Permissions"]
  node_tenant["Tenant Isolation"]
end

node_sso_server{{"Yudao OAuth API"}}
node_sso_actor(("SSO User"))
node_admin_actor(("Admin User"))
node_member_actor(("App Member"))
node_member_api{{"Member User API"}}
node_order_store[("Order Data Store")]
node_express_service{{"Express Provider"}}

node_sso_actor -->|"requests"| node_sso_auth
node_sso_actor -->|"requests"| node_sso_user
node_sso_auth -->|"calls"| node_sso_oauth_client
node_sso_user -->|"calls"| node_sso_user_client
node_sso_oauth_client -->|"requests"| node_sso_server
node_sso_user_client -->|"requests"| node_sso_server
node_sso_app -->|"configures"| node_sso_config
node_sso_config -->|"registers"| node_sso_security
node_admin_actor -->|"authenticates"| node_admin_auth
node_member_actor -->|"authenticates"| node_member_auth
node_app_brokerage -->|"calls"| node_brokerage_users
node_app_brokerage -->|"calls"| node_brokerage_records
node_app_brokerage -->|"calls"| node_brokerage_withdrawals
node_app_brokerage -->|"looks up users"| node_member_api
node_admin_brokerage -->|"calls"| node_brokerage_users
node_admin_brokerage -->|"calls"| node_brokerage_records
node_admin_brokerage -->|"calls"| node_brokerage_withdrawals
node_admin_brokerage -->|"looks up users"| node_member_api
node_brokerage_stats -->|"summarizes"| node_brokerage_records
node_member_actor -->|"requests orders"| node_order_query_contract
node_order_query_contract -->|"implemented by"| node_trade_orders
node_trade_orders -->|"queries"| node_order_store
node_trade_orders -->|"resolves users"| node_member_api
node_trade_orders -->|"gets tracking"| node_express_service
node_data_permission -.->|"intercepts queries"| node_order_store
node_tenant -.->|"scopes queries"| node_order_store

click node_sso_app "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/SSODemoApplication.java"
click node_sso_auth "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/AuthController.java"
click node_sso_user "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/UserController.java"
click node_sso_oauth_client "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/OAuth2Client.java"
click node_sso_user_client "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/UserClient.java"
click node_sso_security "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/core/filter/TokenAuthenticationFilter.java"
click node_sso_config "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/config/SecurityConfiguration.java"
click node_member_auth "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthService.java"
click node_admin_auth "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.java"
click node_oauth_grant "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantService.java"
click node_oauth_clients "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientService.java"
click node_app_brokerage "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java"
click node_admin_brokerage "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageUserController.java"
click node_brokerage_users "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserService.java"
click node_brokerage_records "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordService.java"
click node_brokerage_withdrawals "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java"
click node_brokerage_stats "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/BrokerageStatisticsService.java"
click node_trade_orders "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java"
click node_order_query_contract "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryService.java"
click node_common "https://github.com/talkpoin/ruoyi-spring-boot-all/tree/main/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common"
click node_data_permission "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java"
click node_tenant "https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.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_sso_app,node_sso_auth,node_sso_user,node_sso_oauth_client,node_sso_user_client,node_sso_security,node_sso_config,node_sso_actor,node_admin_actor,node_member_api toneBlue
class node_member_auth,node_admin_auth,node_oauth_grant,node_oauth_clients,node_order_store toneAmber
class node_app_brokerage,node_admin_brokerage,node_brokerage_users,node_brokerage_records,node_brokerage_withdrawals,node_brokerage_stats,node_trade_orders,node_order_query_contract,node_sso_server toneMint
class node_common,node_data_permission,node_tenant toneRose
class node_member_actor,node_express_service toneIndigo
```

## Components

### SSO Demo

- [SSO Application](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/SSODemoApplication.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/SSODemoApplication.java`
- [Auth Controller](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/AuthController.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/AuthController.java`
- [User Controller](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/UserController.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/controller/UserController.java`
- [OAuth Client](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/OAuth2Client.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/OAuth2Client.java`
- [User Client](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/UserClient.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/client/UserClient.java`
- [Token Filter](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/core/filter/TokenAuthenticationFilter.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/core/filter/TokenAuthenticationFilter.java`
- [Security Config](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/config/SecurityConfiguration.java): `yudao-example/yudao-sso-demo-by-code/src/main/java/cn/iocoder/yudao/ssodemo/framework/config/SecurityConfiguration.java`

### Identity Services

- [Member Auth](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthService.java): `yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthService.java`
- [Admin Auth](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.java): `yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.java`
- [OAuth Grants](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantService.java): `yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantService.java`
- [OAuth Clients](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientService.java): `yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientService.java`

### Mall Trade

- [App Brokerage API](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/brokerage/AppBrokerageUserController.java`
- [Admin Brokerage API](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageUserController.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/brokerage/BrokerageUserController.java`
- [Brokerage Users](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserService.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserService.java`
- [Brokerage Records](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordService.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageRecordService.java`
- [Brokerage Withdrawals](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageWithdrawService.java`
- [Brokerage Statistics](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/BrokerageStatisticsService.java): `yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/BrokerageStatisticsService.java`
- [Order Queries](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java`
- [Order Query API](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryService.java): `yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryService.java`

### Framework Utilities

- [Common Utilities](https://github.com/talkpoin/ruoyi-spring-boot-all/tree/main/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common): `yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common`
- [Data Permissions](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java): `yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java`
- [Tenant Isolation](https://github.com/talkpoin/ruoyi-spring-boot-all/blob/main/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.java): `yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/db/TenantDatabaseInterceptor.java`

### Other components

- **Yudao OAuth API**
- **SSO User**
- **Admin User**
- **App Member**
- **Member User API**
- **Order Data Store**
- **Express Provider**

## Connections

- SSO User → Auth Controller: requests
- SSO User → User Controller: requests
- Auth Controller → OAuth Client: calls
- User Controller → User Client: calls
- OAuth Client → Yudao OAuth API: requests
- User Client → Yudao OAuth API: requests
- SSO Application → Security Config: configures
- Security Config → Token Filter: registers
- Admin User → Admin Auth: authenticates
- App Member → Member Auth: authenticates
- App Brokerage API → Brokerage Users: calls
- App Brokerage API → Brokerage Records: calls
- App Brokerage API → Brokerage Withdrawals: calls
- App Brokerage API → Member User API: looks up users
- Admin Brokerage API → Brokerage Users: calls
- Admin Brokerage API → Brokerage Records: calls
- Admin Brokerage API → Brokerage Withdrawals: calls
- Admin Brokerage API → Member User API: looks up users
- Brokerage Statistics → Brokerage Records: summarizes
- App Member → Order Query API: requests orders
- Order Query API → Order Queries: implemented by
- Order Queries → Order Data Store: queries
- Order Queries → Member User API: resolves users
- Order Queries → Express Provider: gets tracking
- Data Permissions → Order Data Store: intercepts queries
- Tenant Isolation → Order Data Store: scopes queries
