Platform Positioning
RuoYi-Vue-Pro is a one-stop rapid development platform for small to medium teams and enterprises, fully open-source and 100% free. Its core value is not a single feature, but rather pre-implementing the 14 most common types of business requirements in enterprise informatization, connected through a unified permission system, message queue, and payment center, enabling you to deliver a complete enterprise system in weeks rather than months.
In one sentence: If you need a system that “has admin backend, approval workflows, customer management, purchase-sales-inventory, a mall, and even AI and IoT”, RuoYi is the most comprehensive Java technology stack solution in the open-source ecosystem.
5 Core Enterprise Problems Solved by the Platform
One-click CRUD page generation"] A2["Common Backend Capabilities
Users/Roles/Permissions/Logs"] A3["Infrastructure
Storage/Message Queue/Ops"] end A1 & A2 & A3 --> A4["Base Foundation"] end subgraph Business Flow subgraph Problem2["📋 Solves: Chaotic Approval Processes"] B1["BPM Workflow
DingTalk-style Designer"] B2["ERP Approval
Purchase/Sales Document Approval"] B3["CRM Approval
Contract/Payment Approval"] end B1 & B2 & B3 --> B4["Process Engine"] end subgraph Core Business subgraph Problem3["💰 Solves: Business Operations Fragmentation"] C1["CRM Customer Management
Lead → Opportunity → Contract → Payment"] C2["Member Marketing
Campaign → Level → Coupon → Repurchase"] C3["ERP Purchase-Sales-Inventory
Purchase → Inventory → Sales → Finance"] C4["Mall System
Products → Orders → Marketing → Distribution"] end C1 & C2 & C3 & C4 --> C5["Business Middle Platform"] end subgraph Vertical Business subgraph Problem4["🏭 Solves: Insufficient Manufacturing Management"] D1["MES Manufacturing Execution
Work Order → Reporting → Quality Inspection"] D2["WMS Warehouse Management
Inbound → Outbound → Inventory Count"] D3["IoT Internet of Things
Device Management → Rule Engine"] end D1 & D2 & D3 --> D4["Manufacturing IoT"] end subgraph Innovation & Intelligence subgraph Problem5["🚀 Solves: Innovation Scenario Requirements"] E1["AI Large Model
Chat/Drawing/Knowledge Base"] E2["IM Instant Messaging
Private Chat/Group Chat/Audio-Video"] E3["Report Dashboard
Data Visualization"] end E1 & E2 & E3 --> E4["Innovation Empowerment"] end
Subsystem Collaboration Panorama
The 14 subsystems are not isolated. They collaborate deeply through a unified authentication system, message queue, and payment center. Understanding the relationship diagram below will help you grasp how the entire platform is “pieced together”:
system
Users/Roles/Permissions/Tenants/Departments
🔑 Permission source for all modules"] INFRA["Infrastructure Module
infra
File Service/Code Generation/WebSocket
📦 Common capabilities for all modules"] end subgraph CapabilityLayer["Capability Layer (Enable as Needed)"] BPM["BPM Workflow
📋 Provides approval capability
Depended on by ERP/CRM"] PAY["Pay Payment Center
💳 Unified payment capability
Depended on by Mall/ERP"] MEMBER["Member Center
👤 Membership system
Depended on by Mall"] MP["MP Official Account
📱 WeChat ecosystem
Depended on by Mall/Member"] end subgraph BusinessLayer["Business Layer (Independent or Combined)"] CRM["CRM Customer Management
20+ tables"] ERP["ERP Purchase-Sales-Inventory
30+ tables"] MALL["Mall System
70+ tables"] MES["MES Manufacturing Execution
133 tables"] WMS["WMS Warehouse
16 tables"] end subgraph InnovationLayer["Innovation Layer (Cutting-Edge Scenarios)"] AI["AI Large Model"] IOT["IoT Internet of Things"] IM["IM Instant Messaging
16 tables"] REPORT["Report Dashboard"] end BaseLayer --> BPM BaseLayer --> PAY BaseLayer --> MEMBER BaseLayer --> MP BaseLayer --> CRM BaseLayer --> ERP BaseLayer --> MALL BaseLayer --> MES BaseLayer --> WMS BaseLayer --> AI BaseLayer --> IOT BaseLayer --> IM BaseLayer --> REPORT PAY --> MALL MEMBER --> MALL BPM --> ERP BPM --> CRM
Key Principle: All modules share the same set of user accounts and permission system. After enabling a business module, the corresponding menus, APIs, and database tables are activated on demand — unneeded ones are not loaded.
6 Core Collaboration Mechanisms
1. Unified Authentication — The “ID Card” for All Modules
This means: Out of the box, all subsystems automatically share the same login, roles, and menu permissions — no secondary integration needed.
2. Message Queue — The “Nervous System” Between Subsystems
When ERP generates a sales outbound order, WMS needs to detect inventory changes, and Mall needs to update available stock — the message queue is the channel for these asynchronous notifications.
Sales Outbound Event"] P2["Mall Module
Order Payment Success"] P3["CRM Module
Contract Signing Complete"] end subgraph MQ["Message Queue Abstraction Layer yudao-mq"] MQ_IMPL["Spring Event → Redis Stream
→ RabbitMQ → RocketMQ → Kafka
🔁 Switch with one line of config"] end subgraph Consumers C1["WMS Module
Update Inventory"] C2["Member Module
Issue Points"] C3["BPM Module
Trigger Approval Flow"] end P1 --> MQ --> C1 P2 --> MQ --> C2 P3 --> MQ --> C3
Design Highlight: Business code only depends on the yudao-spring-boot-starter-mq abstract interface. Switching message middleware requires changing just one line of configuration.
3. Payment Center — Unified Cashier
Mall, ERP, and all other modules requiring payment/collection connect to the Payment Center. Channel differences (WeChat/Alipay/Mock Payment) are completely transparent to business modules.
4. Workflow Engine — The Approval Bus Across Businesses
Flowable + Dual Designers"] BPM --> ERP_P["ERP Purchase Approval
Purchase Order → Supervisor Approval → Finance Approval"] BPM --> ERP_S["ERP Sales Approval
Sales Order → Manager Approval → Warehouse Confirmation"] BPM --> CRM_C["CRM Contract Approval
Contract → Legal Review → CEO Approval"] BPM --> OA["General OA Approval
Leave/Reimbursement/Seal Usage"]
ERP, CRM, and other approval-involving business modules directly integrate with the BPM workflow engine, supporting countersign, or-sign, reject, transfer, add-sign, and other full approval operations.
5. SaaS Multi-Tenant — One Codebase Serving N Clients
6. Frontend Route Modularization — Code Isolation & Collaboration
All admin backend frontend projects are organized by subsystem directory, non-interfering with each other:
src/views/
├── system/ # System management pages
├── infra/ # Infrastructure pages
├── bpm/ # Workflow pages
├── crm/ # Customer management pages
├── erp/ # Purchase-sales-inventory pages
├── mall/ # Mall pages
└── ...
Technology Architecture Panorama
(Primary admin backend)"] VBEN5["Vben5 + Ant Design / Element Plus
(Next-gen admin backend)"] VUE2["Vue2 + Element UI
(Classic version)"] UNIAPP["uni-app (Vue3)
Mobile/H5/Mini-Program"] VUE2 ~~~ VUE3 ~~~ VBEN5 ~~~ UNIAPP end subgraph GatewayLayer NGINX["Nginx /
Spring Cloud
Gateway"] end subgraph BackendLayer["Backend Layer Spring Boot 3.5"] SYS2["System Management"] BPM2["Workflow"] PAY2["Payment Center"] CRM2["Customer Management"] ERP2["Purchase-Sales-Inventory"] MALL2["Mall"] MES2["Manufacturing Execution"] AI2["AI Large Model"] SYS2 ~~~ BPM2 ~~~ PAY2 ~~~ CRM2 ~~~ ERP2 ~~~ MALL2 ~~~ MES2 ~~~ AI2 end subgraph MiddlewareLayer["Middleware Layer"] MYSQL["MySQL / Oracle /
PG / Dameng"] TDEngine["TDEngine"] REDIS2["Redis + Redisson"] MQ2["Message Queue (5 implementations)"] OSS["S3 etc. File Storage"] FLOWABLE["Flowable Process Engine"] MYSQL ~~~ TDEngine ~~~ REDIS2 ~~~ MQ2 ~~~ OSS ~~~ FLOWABLE end FrontendLayer --> GatewayLayer GatewayLayer --> BackendLayer BackendLayer --> MiddlewareLayer
14 Subsystem Capability Matrix
| Subsystem | Database Scale | Core Problem Solved | Who It’s For |
|---|---|---|---|
| BPM Workflow | - | Digitize approval processes, say goodbye to paper and WeChat approvals | Any enterprise needing approvals |
| CRM Customer Management | 20+ tables | Full sales process management, prevent customer loss and collision | Sales teams, trading companies |
| ERP Purchase-Sales-Inventory | 30+ tables | Integrated procurement/sales/inventory/finance, say goodbye to Excel management | Trading enterprises, manufacturers |
| Mall System | 70+ tables | Complete B2C e-commerce system, supporting multi-platform and multiple marketing tactics | Retail brands, e-commerce entrepreneurs |
| MES Manufacturing Execution | 133 tables | Workshop-level production management, full chain from work order to reporting to quality inspection | Manufacturing factories |
| WMS Warehouse Management | 16 tables | General warehouse management, full inbound/outbound/inventory count process | Warehousing enterprises, logistics centers |
| Pay Payment Center | - | Unified payment and collection, shielding payment channel differences | All businesses needing payment collection |
| Member | - | Build membership system, user retention and repurchase | Mall, platform businesses |
| MP Official Account | - | Unified multi-account management, auto-reply for follower messages | Operations teams, self-media |
| AI Large Model | - | One-stop AI capability access, lowering the barrier to AI applications | All enterprises interested in AI |
| IoT Internet of Things | - | Device access, data collection, remote control | Hardware manufacturers, smart manufacturing |
| IM Instant Messaging | 16 tables | Built-in instant messaging, no need to integrate third-party SDKs | Platform applications, enterprise internal communication |
| Report Dashboard | - | Drag-and-drop data visualization, zero-code dashboard creation | Management, data analysts |
| SaaS Multi-Tenant | - | One system serving multiple clients with independent isolation | SaaS providers |
Enable on Demand: Flexible Combination
All business modules are disabled by default and activated in two steps:
1. Uncomment the corresponding module in pom.xml
2. Execute the corresponding module's SQL initialization script
This means you can precisely control the system’s functional boundaries:
- Minimal Startup: System Management + Infrastructure ≈ A general admin framework
- E-commerce Scenario: System Management + Member + Payment + Mall + Official Account
- Manufacturing Scenario: System Management + ERP + WMS + MES + IoT + BPM
- Full Features: All 14 subsystems
Quick Start
- Clone the project, import into IDE (IntelliJ IDEA)
- Create MySQL database, execute
sql/mysql/ruoyi-vue-pro.sql - Modify database connection info in
application-local.yaml - Start the
YudaoServerApplicationmain class - Open browser at
http://localhost:48080, default accountadmin / admin123
Documentation Navigation
The left sidebar is organized by “Infrastructure Capabilities → Business Subsystems → Changelog” order. You can:
- Start with Feature List to see the complete feature catalog
- Jump directly to the relevant subsystem based on business needs
- Each subsystem documentation includes: core positioning, role analysis, feature collaboration flow, core table structure