# 酒店民宿短租预订平台 - 项目指引

## 项目概述

集酒店、民宿、短租、青旅预订于一体的综合性平台，包含小程序端、商家管理后台、平台管理后台三大终端。

## 技术栈

- **后端**: NestJS + TypeORM + MySQL + Redis + JWT + Swagger
- **小程序**: uni-app + Vue3 + Pinia + SCSS
- **商家后台**: React 18 + TypeScript + Ant Design + Zustand
- **平台后台**: React 18 + TypeScript + Ant Design + Zustand
- **部署**: Docker + Kubernetes + Nginx
- **包管理**: pnpm (monorepo)

## 项目结构

```
rent-platform/
├── apps/
│   ├── server/              # NestJS 后端 (@rent/server)
│   ├── miniapp/              # uni-app 小程序 (@rent/miniapp)
│   ├── merchant-admin/       # 商家管理后台 (@rent/merchant-admin)
│   ├── platform-admin/       # 平台管理后台 (@rent/platform-admin)
│   └── official-website/     # Next.js 官网 (@rent/official-website)
├── packages/
│   ├── shared-types/         # 共享类型定义 (@rent/shared-types)
│   ├── shared-utils/         # 共享工具函数 (@rent/shared-utils)
│   └── shared-config/        # 共享配置 (@rent/shared-config)
├── database/
│   ├── migrations/           # 数据库迁移脚本
│   └── seeds/                # 种子数据
├── deploy/
│   ├── docker/               # Docker & Docker Compose
│   ├── k8s/                  # Kubernetes manifests
│   └── nginx/                # Nginx 配置
└── 项目需求文档.md
```

## 常用命令

```bash
pnpm install                          # 安装全部依赖
pnpm dev:server                       # 启动后端 (localhost:3000)
pnpm dev:miniapp                      # 启动小程序 (微信开发者工具)
pnpm dev:merchant                     # 商家后台 (localhost:5173)
pnpm dev:platform                     # 平台后台 (localhost:5174)
pnpm dev:website                      # 官网 (localhost:3001)
```

## API 规范

- 全局前缀: `/api`
- 认证方式: Bearer Token (JWT)
- 响应格式: `{ code, message, data, timestamp }`
- Swagger文档: `http://localhost:3000/api/docs`
- 路由分层: 用户路由 `/xxx`、商家路由 `/merchant/xxx`、管理路由 `/admin/xxx`

## 角色体系

| 角色 | 说明 | 路由前缀 |
|------|------|----------|
| user | C端普通用户 | `/orders`, `/rooms`, `/user` |
| merchant | B端商家 | `/merchant/xxx` |
| admin | 平台管理员 | `/admin/xxx` |

## 数据库

- 参见 `database/skills.md` 了解完整表结构和关系

## 模块需求

- 参见 `database/modules.md` 了解各模块详细业务规则

## 开发规范

- 后端路径别名: `@/` 指向 `src/`
- 前端路径别名: `@/` 指向 `src/`
- 中文注释，英文变量名
- 新增模块需同步更新 entities、DTO、Service、Controller、Module
- 后端接口需添加 Swagger 装饰器 (`@ApiTags`, `@ApiOperation`, `@ApiBearerAuth`)





