Skip to content

项目需求与规划

原始需求文档

本节包含项目开始时的所有需求文档和规划材料。

项目目标

创建一个生产级的 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 协作原则

  1. 明确分工: AI 负责实现,人类负责决策
  2. 迭代开发: 小步快跑,频繁验证
  3. 质量优先: 宁可慢,不可错
  4. 文档驱动: 先文档,后代码

开发流程

  1. 需求分析和确认
  2. 技术方案设计
  3. 代码实现
  4. 测试验证
  5. 文档编写
  6. 代码审查
  7. 优化改进

时间规划

整体开发(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: 最终测试和发布

相关文档

Released under the MIT License.