# 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 youlai-boot **Enterprise-grade permission management backend based on Spring Boot** [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.0.5-6DB33F?logo=spring-boot)](https://spring.io/projects/spring-boot) [![JDK](https://img.shields.io/badge/JDK-17%2B-007396?logo=openjdk)](https://openjdk.org/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue?logo=apache)](LICENSE) [![Gitee Star](https://gitee.com/youlaiorg/youlai-boot/badge/star.svg)](https://gitee.com/youlaiorg/youlai-boot/stargazers) [![GitHub Star](https://img.shields.io/github/stars/youlaitech/youlai-boot?style=social)](https://github.com/youlaitech/youlai-boot) [![GitCode Star](https://gitcode.com/youlai/youlai-boot/star/badge.svg)](https://gitcode.com/youlai/youlai-boot/stargazers)

rainbow

[![Live Preview](https://img.shields.io/badge/Live%20Preview-2D8CF0?style=for-the-badge\&logo=google-chrome\&logoColor=white)](https://vue.youlai.tech) [![Mobile Preview](https://img.shields.io/badge/Mobile%20Preview-19BE6B?style=for-the-badge\&logo=android\&logoColor=white)](https://app.youlai.tech) [![Documentation](https://img.shields.io/badge/Documentation-8B5CF6?style=for-the-badge\&logo=gitbook\&logoColor=white)](https://www.youlai.tech/docs/server/spring-boot/) [![็ฎ€ไฝ“ไธญๆ–‡](https://img.shields.io/badge/็ฎ€ไฝ“ไธญๆ–‡-00B4D8?style=for-the-badge\&logo=google-translate\&logoColor=white)](./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**
PC Preview 1 PC Preview 2
PC Preview 3 PC Preview 4
PC Preview 5 PC Preview 6
**Mobile**
App Preview 1 App Preview 2 App Preview 3 App Preview 4
## 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
Official WeChat Account
     Mini Program
Mini Program
     Add author on WeChat
Add author on WeChat

Technical discussion ยท Feedback ยท Business cooperation