# 07-环境配置

## 一、依赖清单

| 层 | 依赖 | 版本 | 说明 |
|---|---|---|---|
| 运行时 | JDK | 17 或 21 | Spring Boot 3 推荐 |
| 运行时 | Node.js | 20 LTS | 前端构建与开发 |
| 运行时 | MySQL | 8.x | 业务数据库 |
| 运行时 | Redis | 最新稳定版 | 缓存、会话 |
| 构建 | Maven | 3.9.x | Java 后端构建 |
| 构建 | npm（随 Node 安装） | 10.x | 前端包管理 |
| 构建 | Vite | 最新稳定版 | 前端打包构建 |
| 框架 | Spring Boot | 3.x | 后端基础框架 |
| 框架 | MyBatis-Plus | 最新稳定版 | ORM |
| 框架 | Spring Security + JWT | 最新稳定版 | 认证授权 |
| 框架 | Activiti | 6.x | 工作流 |
| 框架 | Flyway (`flyway-core` + `flyway-mysql`) | 10.x / 最新稳定版 | 数据库迁移 |
| 框架 | React + Ant Design 5 + Redux Toolkit + React Router v6 + Axios | 见 docs/04 § 零 | 前端 |
| 容器 | Docker | 最新稳定版 | 部署 |
| 容器 | Nginx | 最新稳定版 | 静态托管 + 反向代理 |
| CLI 工具 | git | 任意 | 版本控制 |
| CLI 工具 | mysql 客户端 | 与服务端兼容 | 本地连库调试 |

## 二、端口约定

| 服务 | 端口 | 说明 |
|---|---|---|
| 后端 HTTP | 8080 | Spring Boot 默认端口 |
| 前端 dev server | 5173 | Vite 默认端口 |
| MySQL | 3306 | 业务库 + 测试库 |
| Redis | 6379 | 默认端口 |
| Nginx | 80 / 443 | 反向代理（生产） |

## 三、环境变量

运行时凭据（数据库连接、JWT 密钥等）全部放在仓库根的 `.env.local`，不入 git。
字段清单与占位符见该文件，真实值由开发者本地填写。

## 四、常用命令

| 命令 | 说明 |
|---|---|
| `cd backend && mvn spring-boot:run` | 启动后端（dev profile） |
| `cd frontend && npm install && npm run dev` | 启动前端 dev server |
| `cd backend && mvn clean package` | 后端打包 |
| `cd frontend && npm run build` | 前端打包到 `dist/` |
| `bash scripts/test.sh` | 全量测试（lint + unit + integration + e2e） |
| `bash scripts/setup-test-db.sh` | DROP+CREATE 测试库（保留 schema 由 Flyway 启动时 apply） |
| `git push origin <branch>` | 推送（pre-push hook 触发本地全量测试闸门） |
| `glab mr create -s <branch> -b master --fill` | 创建 GitLab MR（由 mr-create skill 调用） |
