docs: 统一后端生态矩阵(补 FastAPI、修正坏链、统一 8 行顺序)
- 补齐 FastAPI、修正 youlai-thinkphp/youlai-rust 坏链 - 统一 8 行顺序:boot/nest/gin/django/fastapi/think/aspnet/axum - 计数由七种改为八种后端
This commit is contained in:
185
README.en.md
185
README.en.md
@@ -1,186 +1,361 @@
|
||||
<div align="center">
|
||||
|
||||
|
||||
|
||||
# <img alt="youlai-boot" width="28" src="./docs/images/logo/logo.png" align="center"> youlai-boot
|
||||
|
||||
|
||||
|
||||
**Enterprise-grade permission management backend based on Spring Boot 4**
|
||||
|
||||
|
||||
|
||||
[](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)
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
|
||||
[](https://vue.youlai.tech)
|
||||
|
||||
[](https://app.youlai.tech)
|
||||
|
||||
[](https://www.youlai.tech/docs/server/spring-boot/)
|
||||
|
||||
[](./README.md)
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
|
||||
|
||||
**youlai-boot** is an enterprise-grade permission management backend built on Spring Boot 4. 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 model, token renewal, multi-device mutual exclusion
|
||||
|
||||
- 🛡️ **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, scheduled tasks, message center, operation logs
|
||||
|
||||
- 🌐 **Multi-tenant SaaS** — data isolation + tenant config, with a standalone [youlai-boot-tenant](https://gitee.com/youlaiorg/youlai-boot-tenant) edition
|
||||
|
||||
- 🔌 **Real-time communication** — SSE push: online user count, dictionary sync, notification broadcast
|
||||
|
||||
|
||||
|
||||
## System Preview
|
||||
|
||||
|
||||
|
||||
**PC**
|
||||
|
||||
|
||||
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img alt="PC Preview 1" width="400" src="./docs/images/preview/pc-01.png"></td>
|
||||
|
||||
<td><img alt="PC Preview 2" width="400" src="./docs/images/preview/pc-02.png"></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img alt="PC Preview 3" width="400" src="./docs/images/preview/pc-03.png"></td>
|
||||
|
||||
<td><img alt="PC Preview 4" width="400" src="./docs/images/preview/pc-04.png"></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img alt="PC Preview 5" width="400" src="./docs/images/preview/pc-05.png"></td>
|
||||
|
||||
<td><img alt="PC Preview 6" width="400" src="./docs/images/preview/pc-06.png"></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
**Mobile**
|
||||
|
||||
|
||||
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img alt="App Preview 1" width="200" src="./docs/images/preview/app-01.png"></td>
|
||||
|
||||
<td><img alt="App Preview 2" width="200" src="./docs/images/preview/app-02.png"></td>
|
||||
|
||||
<td><img alt="App Preview 3" width="200" src="./docs/images/preview/app-03.png"></td>
|
||||
|
||||
<td><img alt="App Preview 4" width="200" src="./docs/images/preview/app-04.png"></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
## Quick Start
|
||||
|
||||
|
||||
|
||||
**Requirements**: JDK 17+ · MySQL 8.0+ · Redis 6.0+
|
||||
|
||||
|
||||
|
||||
1. Clone: `git clone https://gitee.com/youlaiorg/youlai-boot.git`
|
||||
|
||||
2. Import database: `sql/youlai-admin.sql`
|
||||
|
||||
3. Adjust config (optional, a read-only online data source is configured by default): `src/main/resources/application-dev.yml`
|
||||
|
||||
4. Start and visit http://localhost:8000/doc.html
|
||||
|
||||
|
||||
|
||||
Default credentials: `admin` / `123456`
|
||||
|
||||
|
||||
|
||||
Detailed guide: https://www.youlai.tech/docs/server/spring-boot/quick-start.html
|
||||
|
||||
|
||||
|
||||
## Tech Stack
|
||||
|
||||
|
||||
|
||||
| Tech | Version | Description |
|
||||
|
||||
|:-----|:--------|:------------|
|
||||
|
||||
| Spring Boot | 4.0.5 | Core framework |
|
||||
|
||||
| Spring Security | 6.x | Auth & authorization |
|
||||
|
||||
| MyBatis-Plus | 3.5.15 | ORM |
|
||||
|
||||
| Druid | 1.2.24 | Connection pool |
|
||||
|
||||
| Redis + Redisson | 6.0+ / 4.1.0 | Cache · Session · Distributed lock |
|
||||
|
||||
| Caffeine | 2.9.3 | Local cache |
|
||||
|
||||
| XXL-Job | 3.2.0 | Distributed scheduled tasks |
|
||||
|
||||
| Knife4j | 4.5.0 | API docs |
|
||||
|
||||
| MapStruct | 1.6.3 | Object mapping |
|
||||
|
||||
| MinIO | 8.5.10 | Object storage |
|
||||
|
||||
|
||||
|
||||
## Directory Structure
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
youlai-boot/
|
||||
|
||||
├── deploy/
|
||||
|
||||
│ └── docker/ # Docker orchestration
|
||||
|
||||
├── docs/ # Docs and image assets
|
||||
|
||||
├── sql/ # Database init scripts
|
||||
|
||||
├── src/ # Source code
|
||||
|
||||
│ ├── YouLaiBootApplication.java # Bootstrap class
|
||||
|
||||
│ ├── auth/ # Auth (login/logout/token)
|
||||
|
||||
│ ├── codegen/ # Code generator
|
||||
|
||||
│ ├── common/ # Common module (constants/enums/response)
|
||||
|
||||
│ ├── file/ # File service (MinIO/local/OSS)
|
||||
|
||||
│ ├── framework/ # Technical framework layer
|
||||
|
||||
│ │ ├── apidoc/ # OpenAPI / Knife4j
|
||||
|
||||
│ │ ├── cache/ # Redis / Caffeine cache
|
||||
|
||||
│ │ ├── captcha/ # Graphic captcha
|
||||
|
||||
│ │ ├── integration/ # SMS / Email / WeChat
|
||||
|
||||
│ │ ├── job/ # XXL-Job scheduled tasks
|
||||
|
||||
│ │ ├── mybatis/ # MyBatis-Plus config
|
||||
|
||||
│ │ ├── security/ # Security / JWT / Token
|
||||
|
||||
│ │ └── web/ # Global exception / CORS / rate limit
|
||||
|
||||
│ ├── message/ # SSE push
|
||||
|
||||
│ └── system/ # Business (user/role/menu/dept)
|
||||
|
||||
└── pom.xml # Maven dependency management
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Ecosystem
|
||||
|
||||
|
||||
|
||||
**Frontend**
|
||||
|
||||
|
||||
|
||||
| Project | Stack | Description |
|
||||
|
||||
|:-----|:------|:------------|
|
||||
|
||||
| [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 |
|
||||
|:-----|:------|:------------|
|
||||
| [youlai-boot](https://gitee.com/youlaiorg/youlai-boot) | Spring Boot 4 + 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-thinkphp](https://gitee.com/youlaiorg/youlai-thinkphp) | ThinkPHP 8 | PHP |
|
||||
| [youlai-think](https://gitee.com/youlaiorg/youlai-think) | ThinkPHP 8 | PHP |
|
||||
| [youlai-aspnet](https://gitee.com/youlaiorg/youlai-aspnet) | ASP.NET Core | C# |
|
||||
| [youlai-rust](https://gitee.com/youlaiorg/youlai-rust) | Axum + SeaORM | Rust |
|
||||
|
||||
| [youlai-axum](https://gitee.com/youlaiorg/youlai-axum) | Axum + SeaORM | Rust |
|
||||
> **youlai-boot** also provides the following variants and branches: [Multi-Tenant](https://gitee.com/youlaiorg/youlai-boot-tenant) (Spring Boot 4) · [MyBatis-Flex](https://gitee.com/youlaiorg/youlai-boot-flex) (Spring Boot 4) · [Spring Boot 3](https://gitee.com/youlaiorg/youlai-boot/tree/spring-boot-3) · [PostgreSQL](https://gitee.com/youlaiorg/youlai-boot/tree/db-pg) · [Multi-Module](https://gitee.com/youlaiorg/youlai-boot/tree/multi-module)
|
||||
|
||||
>
|
||||
> The seven backends share the same **RESTful API specification** and **database schema**, so the frontend can switch seamlessly.
|
||||
|
||||
> The eight backends share the same **RESTful API specification** and **database schema**, so the frontend can switch seamlessly.
|
||||
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
|
||||
| Resource | Link |
|
||||
|
||||
|:-----|:-----|
|
||||
|
||||
| 📖 Full docs site | [www.youlai.tech](https://www.youlai.tech/) |
|
||||
|
||||
| 🖥️ PC live preview | [vue.youlai.tech](https://vue.youlai.tech) |
|
||||
|
||||
| 📱 Mobile live preview | [app.youlai.tech](https://app.youlai.tech) |
|
||||
|
||||
| 🔗 Apifox API docs | [apifox.com](https://www.apifox.cn/apidoc/shared-195e783f-4d85-4235-a038-eec696de4ea5) |
|
||||
|
||||
| 🔗 Local API docs | [localhost:8000/doc.html](http://localhost:8000/doc.html) |
|
||||
|
||||
|
||||
|
||||
## License
|
||||
|
||||
|
||||
|
||||
Released under the [Apache License 2.0](LICENSE); free for commercial use.
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
|
||||
<td align="center">
|
||||
|
||||
<img src="./docs/images/qrcode/wechat-official.jpg" height="180" alt="Official WeChat Account"><br>
|
||||
|
||||
<sub>Official WeChat Account</sub>
|
||||
|
||||
</td>
|
||||
|
||||
<td> </td>
|
||||
|
||||
<td align="center">
|
||||
|
||||
<img src="./docs/images/qrcode/wechat-mp.jpg" height="180" alt="Mini Program"><br>
|
||||
|
||||
<sub>Mini Program</sub>
|
||||
|
||||
</td>
|
||||
|
||||
<td> </td>
|
||||
|
||||
<td align="center">
|
||||
|
||||
<img src="./docs/images/qrcode/wechat-personal.png" height="180" alt="Add author on WeChat"><br>
|
||||
|
||||
<sub>Add author on WeChat</sub>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<p align="center"><em>Technical discussion · Feedback · Business cooperation</em></p>
|
||||
|
||||
|
||||
@@ -121,17 +121,18 @@ youlai-boot/
|
||||
|
||||
| 项目 | 技术栈 | 说明 |
|
||||
|:-----|:-------|:-----|
|
||||
| [youlai-boot](https://gitee.com/youlaiorg/youlai-boot) | Spring Boot 4 + MyBatis-Plus | Java(主推) |
|
||||
| [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-thinkphp](https://gitee.com/youlaiorg/youlai-thinkphp) | ThinkPHP 8 | PHP |
|
||||
| [youlai-think](https://gitee.com/youlaiorg/youlai-think) | ThinkPHP 8 | PHP |
|
||||
| [youlai-aspnet](https://gitee.com/youlaiorg/youlai-aspnet) | ASP.NET Core | C# |
|
||||
| [youlai-rust](https://gitee.com/youlaiorg/youlai-rust) | Axum + SeaORM | Rust |
|
||||
| [youlai-axum](https://gitee.com/youlaiorg/youlai-axum) | Axum + SeaORM | Rust |
|
||||
|
||||
> **youlai-boot** 还提供以下变种和分支版本:[多租户](https://gitee.com/youlaiorg/youlai-boot-tenant)(Spring Boot 4)· [MyBatis-Flex](https://gitee.com/youlaiorg/youlai-boot-flex)(Spring Boot 4)· [Spring Boot 3](https://gitee.com/youlaiorg/youlai-boot/tree/spring-boot-3) · [PostgreSQL](https://gitee.com/youlaiorg/youlai-boot/tree/db-pg) · [多模块](https://gitee.com/youlaiorg/youlai-boot/tree/multi-module)
|
||||
>
|
||||
> 七种后端共享同一套 **RESTful API 规范** 和 **数据库结构**,前端可无缝切换。
|
||||
> 八种后端共享同一套 **RESTful API 规范** 和 **数据库结构**,前端可无缝切换。
|
||||
|
||||
## 交流合作
|
||||
|
||||
|
||||
Reference in New Issue
Block a user