[Open Source] A Multi-Account, Distributed Cluster, Frontend-Backend Separated, Multi-Tenant Management System

Open SourceProcess Management
2026-06-28 06:19 2 次浏览 • 0 次下载 0KB
[Open Source] A Multi-Account, Distributed Cluster, Frontend-Backend Separated, Multi-Tenant Management System

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

   
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

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.
Supports dynamic authorization and login methods, such as SMS login and password login, with dynamic control over token expiration times.

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

Plus

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
Adopting Sa-Token supporting annotation for login verification, role verification, permission verification, secondary authentication verification, HttpBasic verification, and ignore verification
Role and Permission Verification Supporting Multiple Conditions Such as AND, OR, or Permission OR Role, etc. Complex Expressions

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
Supporting Redis 90% above commands, underlying optimization avoiding many incorrect usage, for example: keys being converted to scan
Supporting Single Machine, Sentinel, Single Master Cluster, Multi-Master Cluster, etc. Modes

Cache Annotation

Spring-Cache

Adopting Spring-Cache annotation and extending to support more functions
For example, expiration time, maximum idle time, group maximum length, etc. Only one annotation is required to complete automatic data caching

Database Framework

Mybatis-Plus

Adopting Mybatis-Plus, based on object, almost no SQL writing, full Java operation, powerful, and numerous plugins
For example, multi-tenant plugins, pagination plugins, optimistic lock plugins, etc.

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
Configuring yml can dynamically manage heterogeneous databases of different types, and can also add data sources through the frontend page
Supporting SpEL expressions to switch data sources from request headers and other conditions

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
Real-time monitoring of service status, framework also extended online log viewing and monitoring

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
Supporting permission management, secure and reliable, file encryption 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.

Email

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
Reducing 80% of development workload, focusing on business design
Framework adapted MP, SpringDoc, and standardized code, while supporting dynamic multiple data source code generation

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

#1
资源直链https://gitee.com/yixiacoco/ruoyi-tdesign
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare