[Open Source] A Multi-Account, Distributed Cluster, Frontend-Backend Separated, Multi-Tenant Management System
![[Open Source] A Multi-Account, Distributed Cluster, Frontend-Backend Separated, Multi-Tenant Management System](https://yy123.ink/api/img/1782598733307-c4uu83.jpg)
1. Project Overview
Ruoyi-TDesign
A refactored version based on RuoYi-Vue-Plus. The UI administration system uses TDesign, with regular synchronization of RuoYi-Vue-Plus features.
ruoyi-tdesign is an upgraded implementation of the RuoYi-Vue-Plus UI and other functional scenarios (not compatible with the original framework).
2. Open Source License
Licensed under MIT
3. Screenshots
Demo Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
4. Feature Overview
Ruoyi-TDesign
Frontend and backend separation using Spring Boot 3 and Vue 3 + TS + TDesign
ruoyi-tdesign is an upgraded implementation of the RuoYi-Vue-Plus UI and other functional scenarios (not compatible with the original framework).
Project characteristics
Multi-Tenant
Configure system tenants and support multi-tenancy in SaaS scenarios
Multiple Account Systems
Supports simultaneous login to multiple account systems within a single application
Third-Party Authorization Login
Uses the JustAuth third-party login component, supporting dozens of authentication providers such as WeChat and DingTalk
Ready-to-Use SMS and Email Delivery
The system administration backend supports real-time configuration of SMS, email, and custom sending providers. You can also extend configurations for official accounts, mini programs, and DingTalk messages.
Distributed Clustering
Native support for clustered environments, allowing multiple services to handle requests simultaneously through load balancing, reducing response delays.
Code Generation
Supports generating fine-grained optional Create, Read, Update, and Delete operations
Business Features
|
Function |
Introduction |
|
Tenant Management |
Configure system tenants and support multi-tenant functionality in SaaS scenarios. |
|
Tenant Plan Management |
Manage the plans available to tenants within the system, such as the menus included in each plan. |
|
Application Management |
Configure tenant identification keys to dynamically convert domain names, app IDs, and other dynamic identifiers into tenant IDs |
|
Client Management |
Manage all clients integrated with the system, such as PC clients and mini program clients. |
|
User Management |
Users are system operators. This feature is primarily used to configure system users. |
|
Department Management |
Configure the system organizational structure (companies, departments, and teams). Supports tree-based display and data permissions. |
|
Position Management |
Configure the system user position. |
|
Menu Management |
Configure the system menu, operation permissions, button permissions, etc. |
|
Role Management |
Assign menu permissions to roles and configure data access permissions by organizational structure. |
|
Dictionary Management |
Maintain some relatively fixed data frequently used in the system. |
|
Parameter management |
Dynamically configure common parameters in the system. |
|
Notifications and Announcements |
Publish and maintain system notifications and announcements. |
|
Operation log |
Record and query normal system operation logs; record and query system error logs. |
|
Login Log |
Record and query system login logs, including failed login attempts. |
|
OSS Configuration |
Configure system file upload and download services |
|
File management |
Manage system file uploads, downloads, and other operations. |
|
OSS Processing Rules |
Configure processing rules such as image compression |
|
Message Configuration |
Configure SMS, email, and custom sending providers. |
|
Message Constants |
Define constant strings for message delivery, without needing to worry about whether a template ID or message content is being used. |
|
Message Templates |
Configure associated message settings and message constants, and render input parameters into variables when sending messages. |
|
Message Sending Records |
Record message sending times and content. |
|
Scheduled Tasks |
Online task scheduling (add, update, delete), including execution result logs. |
|
Code Generation |
Generate frontend and backend code (Java, HTML, XML, SQL) and support CRUD code downloads. |
|
System Interface |
Generate API interface documents related to business code automatically. |
|
Service monitoring |
Monitor cluster system CPU, memory, disk, stack, online logs, Spring-related configurations, and more. |
|
Cache monitoring |
Query system cache information, command statistics, etc. |
|
Online builder |
Drag and drop form elements to generate corresponding HTML code |
|
Connection Pool Monitoring |
Monitor the current database connection pool status and analyze SQL queries to identify system performance bottlenecks. |
|
Usage case |
Some function cases of the system |
5. Tech Stack
Software Architecture Diagram

|
Function introduction |
Technologies Used |
Description |
|
Current Framework |
ruoyi-tdesign |
Rewrites some RuoYi-Vue-Plus logic and uses its UI framework |
|
Original Framework |
RuoYi-Vue-Plus |
Regularly synchronize required features |
|
Frontend Development Framework |
Vue3、Tdesign UI |
Tencent-developed Vue 3 frontend framework |
|
Backend Development Framework |
SpringBoot |
|
|
Container Framework |
Undertow |
Adopting Undertow based on XNIO's high-performance container |
|
Authentication and Authorization Framework |
Sa-Token、Jwt |
Adopting Sa-Token, Jwt for static use with full functionality, low coupling, and high extensibility |
|
Third-Party Authentication |
JustAuth |
Uses the JustAuth third-party login component, supporting dozens of authentication providers such as WeChat and DingTalk |
|
Relational Database |
MySQL |
Supports versions 8.X and above, with 5.7 as the minimum. Supports simultaneous switching between heterogeneous databases. |
|
Relational Database |
Oracle |
Supports versions 11g and 12c. Supports simultaneous switching between heterogeneous databases. |
|
Relational Database |
PostgreSQL |
Supports versions 13 and 14. Supports simultaneous switching between heterogeneous databases. |
|
Cache Database |
Redis |
Supporting Redis 5-7 and supporting most new features and characteristics such as distributed rate limiting, distributed queues |
|
Redis Client |
Redisson |
Adopting Redisson, Redis official recommendation, based on Netty's client tool |
|
Cache Annotation |
Spring-Cache |
Adopting Spring-Cache annotation and extending to support more functions |
|
Database Framework |
Mybatis-Plus |
Adopting Mybatis-Plus, based on object, almost no SQL writing, full Java operation, powerful, and numerous plugins |
|
Database Framework |
p6spy |
Adopting p6spy to output complete SQL and execution time monitoring |
|
Multiple data source framework |
dynamic-datasource |
Uses dynamic-datasource to support most mainstream databases |
|
Serialization Framework |
Jackson |
Unified use of Jackson for efficiency and reliability |
|
Distributed Queue |
Redisson |
Standard queues, delayed queues, priority queues, and more |
|
Distributed Locks |
Lock4j |
Various locking options, including annotation-based locks and utility locks |
|
Distributed idempotence |
Redisson |
Duplicate Submission Prevention |
|
Monitoring framework |
SpringBoot-Admin |
Using SpringBoot-Admin, based on SpringBoot official actuator probe mechanism |
|
Distributed Tracing |
Apache SkyWalking |
Distributed tracing, service mesh analysis, metrics aggregation, and visualization |
|
Distributed task scheduling |
SnailJob |
Natively supports distributed deployment, a unified management center, multiple databases, sharding, retries, DAG task flows, and more |
|
File storage |
Minio |
Using Minio, distributed file storage, born to support multiple machines, multiple hard disks, multiple sharding, and multiple replication storage |
|
Cloud Storage |
Qiniu, Alibaba Cloud, Tencent Cloud |
Using AWS S3 protocol client, supporting Qiniu, Ali, Tencent, etc., all S3 protocol manufacturers |
|
SMS |
Supports dozens of SMS service providers |
Uses the sms4j unified SMS integration package, supporting dozens of SMS service providers. Simply configure the provider credentials in yml to get started. Multiple providers can be used simultaneously. |
|
|
mail-api |
Using mail-api, general protocol supporting most email manufacturers |
|
Monitoring framework |
SpringBoot-Admin |
Comprehensive Service Monitoring |
|
Validation framework |
Validation |
Enhances API security and reliability while supporting internationalization |
|
Excel framework |
Alibaba EasyExcel |
Excellent Performance and Strong Extensibility |
|
Documentation Framework |
SpringDoc、javadoc |
Zero annotations and zero intrusion, based on Java comments |
|
Tool class framework |
Hutool、Lombok |
Reduces code redundancy and improves security |
|
Code Generator |
Supports MP and SpringDoc with standardized code |
Only need to design the table structure, one-key generation of all CRUD code and pages |
|
Deployment Method |
Docker |
Based on request headers, dynamically returning different language text content, low development difficulty, supporting most annotation content internationalization |
|
Internationalization |
SpringMessage |
Spring-standard internationalization solution |


























