项目需求与规划
原始需求文档
本节包含项目开始时的所有需求文档和规划材料。
项目目标
创建一个生产级的 NestJS 企业应用脚手架,具备以下特性:
核心功能需求
- ✅ 完整的认证授权系统(JWT + RBAC)
- ✅ 数据库集成(Prisma + PostgreSQL)
- ✅ 缓存系统(Redis)
- ✅ 消息队列(Bull)
- ✅ 实时通信(WebSocket)
- ✅ 邮件服务
- ✅ 文件上传
- ✅ 任务调度
- ✅ OAuth 社交登录
- ✅ 健康检查
- ✅ API 文档(Swagger)
非功能需求
- ✅ TypeScript 严格模式
- ✅ 生产级错误处理
- ✅ 完整的日志系统
- ✅ 安全最佳实践
- ✅ 性能优化
- ✅ Docker 支持
- ✅ CI/CD 配置
- ✅ 完整的测试覆盖
- ✅ 详细的文档
技术约束
必须使用的技术
- NestJS 11.x (最新版本)
- TypeScript 5.x
- PostgreSQL
- Redis
- Docker
推荐的技术选择
- Prisma (ORM)
- Pino (日志)
- Zod (验证)
- Bull (队列)
- Socket.io (WebSocket)
质量标准
代码质量
- 0 ESLint 错误
- 0 TypeScript 错误
- 遵循 NestJS 最佳实践
- SOLID 原则
- DDD 领域驱动设计
测试要求
- 单元测试覆盖率 > 80%
- E2E 测试核心流程
- 性能测试关键接口
文档要求
- 完整的 API 文档
- 详细的使用指南
- 丰富的示例代码
- 部署和运维文档
开发方法论
AI 协作原则
- 明确分工: AI 负责实现,人类负责决策
- 迭代开发: 小步快跑,频繁验证
- 质量优先: 宁可慢,不可错
- 文档驱动: 先文档,后代码
开发流程
- 需求分析和确认
- 技术方案设计
- 代码实现
- 测试验证
- 文档编写
- 代码审查
- 优化改进
时间规划
整体开发(24小时)
- 0-2h: 项目初始化和基础配置
- 2-4h: 数据库和认证系统
- 4-6h: 权限和用户管理
- 6-8h: 缓存和队列系统
- 8-10h: 高级功能实现
- 10-12h: 测试和优化
- 12-14h: WebSocket 和实时功能
- 14-16h: 邮件和文件上传
- 16-18h: OAuth 和第三方集成
- 18-20h: 文档编写
- 20-22h: Docker 和部署配置
- 22-24h: 最终测试和发布