[Open Source] Multi-Tenant SaaS Rapid Development Framework and Scaffolding, Ready for Commercial Use Without Authorization
![[Open Source] Multi-Tenant SaaS Rapid Development Framework and Scaffolding, Ready for Commercial Use Without Authorization](https://yy123.ink/api/img/1782591210869-hwwofp.jpg)
1. Project Overview
xiliu-tenant
xiliu-tenant adopts a B2B2C architecture and supports multi-tenant SaaS. It is a rapid development framework, project scaffolding, backend management system, and permission management system. Easy to get started and ready to use out of the box.
2. Open Source License
Licensed under MIT
This project is licensed under MIT. No authorization is required, and it can be used for rapid project development and direct commercial use.
3. Screenshots
System Screenshots






4. Feature Overview
Project characteristics
Sequence number
Modules
Description
1
Tenant Management
Configure system tenants and support multi-tenant functionality in SaaS scenarios.
2
Configure Tenant Plans
Customize menu, operation, and button permissions for each tenant.
3
User Management
Users are system operators. This feature is primarily used to configure system users.
4
Department Management
Configure the system organizational structure (companies, departments, and teams). Supports tree-based display and data permissions.
5
Menu Management
Configure the system menu, operation permissions, button permissions, etc.
6
Role Management
Assign menu permissions to roles and configure data access permissions by organizational structure.
7
Dictionary Management
Maintain some relatively fixed data frequently used in the system.
8
Operation log
Record and query normal system operation logs; record and query system error logs.
9
Login Log
Record and query system login logs, including failed login attempts.
10
Online Users
Monitor the status of currently active users in the system.
11
Code Generation
Generate frontend and backend code (Java, HTML, XML, SQL) and support CRUD code downloads.
12
System Interface
Generate API interface documents related to business code automatically.
13
Service monitoring
Monitor the current system CPU, memory, disk, stack, etc. related information.
13
Cache monitoring
Monitor information related to the current cache.
5. Tech Stack
Project Structure
xiliu-tenant ├── xiliu-common -- Common module | ├── annotation -- Custom annotation directory | ├── component -- Custom component directory | ├── config -- Common configuration directory | ├── constant -- Common constants directory | ├── controller -- Common controller directory | ├── domain -- Common data object wrappers | ├── enums -- Common enumeration directory | ├── page -- Common pagination-related wrapper directory | ├── result -- Common response directory | ├── utils -- Common utility classes directory ├── xiliu-generator -- Automatic code generation module | ├── config -- Reads code generation-related configurations | ├── constant -- Code generation constants | ├── controller -- Code generation access layer | ├── entity -- Code generation entity objects | ├── mapper -- Code generation mapper layer | ├── service -- Code generation business layer | ├── utils -- Code generator utility classes ├── xiliu-server -- Business module | ├── common -- Common directory | ├── aspect -- Aspect directory | ├── component -- Token component directory | ├── domain -- Tree structure entity class wrappers | ├── mybatis -- MyBatis-Plus integration configuration directory | ├── security -- Security integration configuration directory | ├── utils -- Common utility classes | ├── manager -- Asynchronous task manager directory | ├── modules -- Business code directory | ├── basicdata -- Basic data directory | ├── monitor -- System monitoring directory | ├── system -- System management directory | ├── XiliuServerApplication -- Application entry point
Software requirements
- jdk8+
- mysql5.7+
- Maven 3.0+
- Redis 3.0+
Technologies Used
Frontend
Technology
Version
Description
Vue
2.6
Front-end Framework
elementUI
2.15.X
UI framework
vuex
3.1.0
State management library
axios
0.18.1
HTTP request library
avue
2.10.10
Element UI enhancement library
Backend
Technology
Version
Description
SpringBoot
2.5.4
Container and MVC framework
SpringSecurity
5.3.2
Authentication and authorization framework
MyBatis-Plus
3.5.1
MyBatis enhancement utility
MyBatis-Plus Generator
3.5.1
Data layer code generator
knife4j
2.0.7
Swagger documentation generation tool
Redis
5.0
Distributed cache
Docker
18.09.0
Application container engine
Druid
1.1.21
Database connection pool
JWT
0.9.0
JWT login support
Lombok
1.18.12
Simplified object wrapping utility
easyexcel
2.2.6
Simplified import and export utility
Database table structure

Development conventions
Naming Conventions
- URL paths use kebab-case (server-address)
API Definition Rules
- Create a table record: POST /{controller route name}/create
- Update a table record: POST /{controller route name}/update/{id}
- Delete a specified table record: POST /{controller route name}/delete/{id}
- Paginated query of table records: GET /{controller route name}/list-page
- Get details of a specified record: GET /{controller route name}/{id}
For detailed parameter and response definitions, run the code and view the Swagger-UI API documentation: [http://localhost:7000/doc.html](http://localhost:7000/doc.html)
Local Deployment
Navigate to the xiliu-server module and run the XiliuServerApplication class to start the application.
Linux Deployment
Project Demo
- Demo URL: [http://localhost:9528](http://localhost:9528)
- Username/Password: admin/123456
Thanks
- This project is based on RuoYi's front-end and back-end separated version. Special thanks to ruoyi-vue.