# multi-tenant-platform **Repository Path**: xiaoxinzhss/multi-tenant-platform ## Basic Information - **Project Name**: multi-tenant-platform - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-24 - **Last Updated**: 2026-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # multi-tenant-platform 多租户 SaaS 平台 一个采用 **SDD(规约驱动开发)** 的多租户平台项目。当前阶段仅交付**规约与测试文档**,代码实现按规约推进中。 ## 项目定位 - **后台管理系统**:平台角色管理租户生命周期;租户角色自助注册、入驻、升级 - **混合隔离模型**:小型租户共享一切;中大型/高价值租户分 Schema / 分库 - **技术栈**:Java 17 + Spring Boot 3.3.3 + Spring Cloud 2023.0.x + Nacos + Gateway + MySQL + Redis + RabbitMQ + MinIO + Vue 3 - **认证授权**:JWT + RBAC + 租户上下文细粒度访问控制 ## 里程碑 | 阶段 | 目标 | 状态 | |------|------|------| | M1 | 微服务骨架 + 租户上下文 + 认证授权 + 租户生命周期 + 配置/定制 + 前端 | ✅ 已完成(自动化测试通过,**未通过人工测试**) | | M2 | 监控告警(Prometheus/Grafana)、集中式日志(ELK)、链路追踪(Jaeger) | 未开始 | | M3 | 计费与计量(用量统计、账单) | 未开始 | | M4 | Kubernetes 编排与弹性伸缩 | 未开始 | ## 文档导航 - [文档索引](docs/README.md) — 规约 / 测试 / 设计文档总览 - [SDD 开发规范](AGENTS.md) — 规约驱动开发流程与编码规范 - [功能规约](docs/specs/README.md) — 10 份规约(架构、租户上下文、数据隔离、认证授权、生命周期、配置、定制、资源配额、可观测、部署) - [测试文档](docs/tests/README.md) — 与规约对应的测试用例设计 ## 快速开始 ### 1. 启动基础设施(MySQL / Redis 必选,Nacos / RabbitMQ / MinIO 按需) ```bash docker compose up -d mysql redis # 首次启动自动执行 db/init 建库建表 # 需要注册中心/消息/对象存储时: docker compose up -d nacos rabbitmq minio ``` ### 2. 启动后端服务(默认不依赖 Nacos,本地直连) ```bash mvn -DskipTests package # 打包(含 spring-boot repackage) java -jar platform-auth/target/platform-auth-1.0.0-SNAPSHOT.jar # 认证服务 :8081 java -jar platform-tenant/target/platform-tenant-1.0.0-SNAPSHOT.jar # 租户服务 :8082 java -jar platform-gateway/target/platform-gateway-1.0.0-SNAPSHOT.jar # 网关 :8080 ``` > Nacos 微服务模式:`NACOS_ENABLED=true AUTH_URI=lb://platform-auth TENANT_URI=lb://platform-tenant` 后再启动。 ### 3. 启动前端(Vue 3 + Vite) ```bash cd web npm install # 首次安装依赖 npm run dev # 开发服务器,默认 http://localhost:5173 ``` 前端访问流程: 1. 浏览器打开 `http://localhost:5173` 2. 平台管理员登录:`admin / Admin@123`(登录后进入**平台端**,管理租户列表/审批/生命周期) 3. 租户注册:调用 `POST /api/tenant/register` 或由平台侧录入,审批通过后自动生成租户管理员账号 (用户名 = 租户编码,初始密码 `Tenant@123`),登录后进入**租户端**(概览/配置/品牌定制) 4. Vite 已将 `/api` 代理到网关 `http://localhost:8080`,无需额外配置 ### 4. 常用账号 | 账号 | 密码 | 角色 | |------|------|------| | admin | Admin@123 | 平台管理员(PLATFORM_ADMIN) | | {租户编码} | Tenant@123 | 租户管理员(TENANT_ADMIN,审批后自动创建) | ### 排障 启动/运行报错排查见 [docs/design/04-启动排障与常见错误.md](docs/design/04-启动排障与常见错误.md)。