# youlai-boot
**Repository Path**: doutoo/youlai-boot
## Basic Information
- **Project Name**: youlai-boot
- **Description**: ๐ ๅบไบ Java 17 + Spring Boot 4 + Spring Security 7 + Vue 3 + Element-Plus ๆๅปบ็ๅๅ็ซฏๅ็ฆปๅไฝๆ้็ฎก็็ณป็ปใ
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://vue.youlai.tech
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 830
- **Created**: 2026-10-29
- **Last Updated**: 2026-10-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#

youlai-boot
**Enterprise-grade permission management backend based on Spring Boot**
[](https://spring.io/projects/spring-boot)
[](https://openjdk.org/)
[](LICENSE)
[](https://gitee.com/youlaiorg/youlai-boot/stargazers)
[](https://github.com/youlaitech/youlai-boot)
[](https://gitcode.com/youlai/youlai-boot/stargazers)

[](https://vue.youlai.tech)
[](https://app.youlai.tech)
[](https://www.youlai.tech/docs/server/spring-boot/)
[](./README.md)
## Introduction
**youlai-boot** is an enterprise-grade permission management backend built on Spring Boot. It ships with the frontend [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) and the mobile app [youlai-app](https://gitee.com/youlaiorg/youlai-app), and is one of **7 language implementations** (Java / Node.js / Go / Python / PHP / C# / Rust) that share the same API specification and database schema. It is suitable for learning, reference, and secondary development of enterprise admin systems.
## Core Features
- ๐ **Security** โ Spring Security + JWT/Redis dual-session token model, token renewal, multi-device mutual exclusion
- ๐ **Unified authentication (optional, disabled by default)** โ [OIDC login](../docs/youlai-boot/oidc/implementation.md), delegates sign-in to an external identity provider and binds the authenticated account to a local user; nothing is loaded unless you enable it
- ๐ก๏ธ **Fine-grained permissions** โ 5-level RBAC: data โ menu โ button โ API โ field
- โก **Code generator** โ one-click generation of full-stack CRUD code
- ๐ฆ **Complete modules** โ users, roles, menus, departments, dictionaries, files (OSS/RustFS/local), scheduled tasks, message center, operation logs
- ๐ **Workflow** โ Flowable approval flows: online BPMN design, conditional gateways, role-based approval, rejection & rollback
- ๐ **Multi-tenant SaaS** โ data isolation + tenant config, with a standalone [youlai-boot-tenant](https://gitee.com/youlaiorg/youlai-boot-tenant) edition
- ๐ **Real-time communication** โ WebSocket: one-time tickets, node presence, dictionary and notice updates
## System Preview
**PC**
**Mobile**
## Quick Start
**Requirements**: JDK 17+ ยท MySQL 8.0+ ยท Redis 6.0+
1. Clone the project:
```bash
git clone https://gitee.com/youlaiorg/youlai-boot.git
```
2. Import the database:
```bash
# Base schema (required)
sql/youlai-admin.sql
# Optional extensions: safe to skip, run after the base schema
sql/extensions/dynamic-form.sql # Dynamic Form
sql/extensions/workflow.sql # Workflow (Flowable demo processes & demo accounts, not engine tables)
sql/extensions/oidc.sql # Unified authentication: app center menu & demo identity binding
```
> Every extension script is **optional**. Users, roles, menus, dictionaries, logs and the code generator all live in `sql/youlai-admin.sql`; importing the base schema alone is enough to run the system.
>
> `oidc.sql` targets deployments that already run an identity provider: it only writes the "App Center" menu and one demo identity binding. Single sign-on is disabled by default (`security.oidc.enabled` plus the frontend `VITE_OIDC_ENABLED`); without an issuer, client secret and frontend switch no OIDC component is loaded, so the base features are unaffected. Skip it if you do not need single sign-on.
3. Adjust config (optional, a read-only online data source is configured by default):
```bash
src/main/resources/application-dev.yml
```
4. Start the service:
**Option 1: Run in IDEA (recommended)**
Open the project in IDEA, wait for Maven dependencies to download, then run the application class `YouLaiBootApplication`.
**Option 2: Command line**
```bash
mvn spring-boot:run
```
Once started, visit . If the API docs open, the backend is running properly.
5. Start the frontend (optional):
For a visual admin UI, start the companion frontend [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin), visit , and log in with `admin` / `123456`.
> For more details, see the official docs: [Quick Start](https://www.youlai.tech/docs/server/spring-boot/quick-start.html) ยท [Deployment Guide](https://www.youlai.tech/docs/server/spring-boot/deploy.html)
## Directory Structure
```
youlai-boot/
โโโ docs/ # Docs and image assets
โโโ sql/ # Database init scripts
โโโ src/ # Source code
โ โโโ auth/ # Auth module
โ โ โโโ password/ # Username/password login (with captcha)
โ โ โโโ sms/ # SMS verification code login
โ โ โโโ qrcode/ # QR code login
โ โ โโโ wxma/ # WeChat Mini Program login
โ โ โโโ session/ # Session management (logout / token renewal)
โ โโโ codegen/ # Code generator
โ โโโ common/ # Common module (constants/enums/exceptions/response/utils)
โ โโโ config/ # Configuration (Security/Redis/MyBatis/API docs/CORS/scheduling etc.)
โ โโโ framework/ # Infrastructure layer
โ โ โโโ mybatis/ # MyBatis-Plus config
โ โ โโโ security/ # Spring Security
โ โ โ โโโ config/ # Security config and properties
โ โ โ โโโ filter/ # Token authentication filter
โ โ โ โโโ handler/ # Authentication / authorization failure handlers
โ โ โ โโโ model/ # Security model (SecurityUser / token / data scope)
โ โ โ โโโ port/ # Auth & permission ports (implemented by system)
โ โ โ โโโ service/ # User details and permission service
โ โ โ โโโ token/ # Token management (JWT / Redis dual mode)
โ โ โ โโโ util/ # Security utilities
โ โ โโโ web/ # Web layer (global exception/CORS/rate limit)
โ โโโ module/ # Business extension modules
โ โ โโโ form/ # Dynamic Form
โ โ โโโ workflow/ # Workflow
โ โโโ support/ # Capability services
โ โ โโโ file/ # File storage (RustFS/Alibaba Cloud OSS/local)
โ โ โโโ mail/ # Email service
โ โ โโโ sms/ # SMS service
โ โ โโโ realtime/ # WebSocket communication
โ โโโ system/ # System business (user/role/menu/dept/dict etc.)
โโโ docker-compose.yml # One-click middleware orchestration (MySQL/Redis/RustFS/Xxl-Job)
โโโ pom.xml # Maven dependency management
```
## Ecosystem
**Frontend**
| Project | Stack | Description | Status |
|:-----|:------|:------------|:---|
| [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) | Vue 3 + Element Plus | PC admin frontend (recommended) | โ
๏ธ |
| [youlai-app](https://gitee.com/youlaiorg/youlai-app) | Vue 3 + UniApp | Mobile App | โ
๏ธ |
**Backend**
| Project | Stack | Description | Status |
|:-----|:------|:------------|:---|
| [youlai-boot](https://gitee.com/youlaiorg/youlai-boot) | Spring Boot + MyBatis-Plus | Java (recommended) | โ
๏ธ |
| [youlai-nest](https://gitee.com/youlaiorg/youlai-nest) | NestJS + TypeORM | Node.js | โ
๏ธ |
| [youlai-gin](https://gitee.com/youlaiorg/youlai-gin) | Go + Gorm | Go | โ
๏ธ |
| [youlai-django](https://gitee.com/youlaiorg/youlai-django) | Django + DRF | Python | โ
๏ธ |
| [youlai-fastapi](https://gitee.com/youlaiorg/youlai-fastapi) | FastAPI + SQLAlchemy | Python | โ
๏ธ |
| [youlai-think](https://gitee.com/youlaiorg/youlai-think) | ThinkPHP + ThinkORM | PHP | โ
๏ธ |
| [youlai-aspnet](https://gitee.com/youlaiorg/youlai-aspnet) | ASP.NET Core + EF Core | C# | โ
๏ธ |
| [youlai-axum](https://gitee.com/youlaiorg/youlai-axum) | Axum + SeaORM | Rust | โ
๏ธ |
| [youlai-laravel](https://gitee.com/youlaiorg/youlai-laravel) | Laravel + Eloquent | PHP | โ๏ธ |
> The nine backends share the same **RESTful API specification** and **database schema**, so the frontend can switch seamlessly.
**Derived Editions**
| Project | Based on | Type | Description | Status |
|:-----|:-----|:---|:------------|:---|
| [youlai-boot-tenant](https://gitee.com/youlaiorg/youlai-boot-tenant) | youlai-boot | Standalone repo | Multi-tenant SaaS with tenant isolation & config | โ
๏ธ |
| [youlai-boot-flex](https://gitee.com/youlaiorg/youlai-boot-flex) | youlai-boot | Standalone repo | Built on MyBatis-Flex | โ
๏ธ |
| [youlai-boot (db-pg)](https://gitee.com/youlaiorg/youlai-boot/tree/db-pg) | youlai-boot | Branch | PostgreSQL database branch | โ
๏ธ |
| [youlai-boot (multi-module)](https://gitee.com/youlaiorg/youlai-boot/tree/multi-module) | youlai-boot | Branch | Multi-module project split | โ
๏ธ |
| [youlai-nest (multi-tenant)](https://gitee.com/youlaiorg/youlai-nest/tree/multi-tenant) | youlai-nest | Branch | Multi-tenant SaaS with tenant isolation & config | โ
๏ธ |
| [youlai-boot (spring-boot-3)](https://gitee.com/youlaiorg/youlai-boot/tree/spring-boot-3) | youlai-boot | Branch | Spring Boot 3 compatible branch | โ๏ธ |
## Optional Extensions
**Workflow (disabled by default)**
Two steps to enable:
1. Import the demo data (demo processes & demo accounts):
```bash
sql/extensions/workflow.sql
```
The ACT_* engine tables do not need to be imported โ Flowable creates them automatically on startup (existing tables are left untouched).
2. Enable it in `application-{profile}.yml`:
```yaml
workflow:
enabled: true
```
The Flowable engine switches (process / idm / eventregistry) follow `workflow.enabled` via placeholders in the same `application-{profile}.yml`, no extra maintenance needed.
**Multi-tenant**
For tenant isolation and tenant configuration, use the standalone repo [youlai-boot-tenant](https://gitee.com/youlaiorg/youlai-boot-tenant).
## License & Support
This project is open-sourced under the [Apache License 2.0](LICENSE) and free for commercial use. Feel free to submit [issues](https://gitee.com/youlaiorg/youlai-boot/issues) or feedback, and pull requests are always welcome.
For technical support, business cooperation, secondary development, project customization, or private deployment, contact the author on WeChat (QR codes below).

Official WeChat Account
|
|

Mini Program
|
|

Add author on WeChat
|
Technical discussion ยท Feedback ยท Business cooperation