Skip to content

项目 03:AI 任务管理全栈平台 ​

1. 项目定位 ​

这是第一个真正全栈项目。它不是普通 Todo,而是面向团队的 AI 任务管理平台:用户可以创建项目、任务、知识上下文,让 AI 辅助拆解任务、生成执行计划、总结进度。

项目目标是训练 NestJS、Prisma、PostgreSQL、鉴权、接口设计,以及前后端类型协作。

2. 对应学习资料 ​

  • Node.js系统学习文档.md
  • NestJS系统学习文档.md
  • Prisma ORM系统学习文档.md
  • PostgreSQL系统学习文档.md
  • MySQL系统学习文档.md
  • PostgreSQL、MySQL、MongoDB数据库技术对比学习文档.md
  • TypeScript系统学习文档.md

3. 技术栈 ​

  • 前端:Vue 3、TypeScript、Vite、Pinia、Tailwind CSS。
  • 后端:NestJS、Prisma、PostgreSQL。
  • 鉴权:JWT + Refresh Token。
  • AI:第一版 mock,第二版接入真实模型。
  • 缓存可选:Redis。

4. 核心业务对象 ​

对象说明
User用户
Organization团队或组织
Project项目
Task任务
TaskComment任务评论
AiSuggestionAI 生成建议
ActivityLog操作日志

5. 核心功能 ​

5.1 用户与组织 ​

  • 注册、登录、退出。
  • 创建组织。
  • 邀请成员。
  • 角色:Owner、Admin、Member。

5.2 项目管理 ​

  • 创建项目。
  • 设置项目目标、截止时间、优先级。
  • 项目看板:待处理、进行中、待审核、已完成。

5.3 任务管理 ​

  • 创建任务。
  • 编辑任务描述、负责人、优先级、截止时间。
  • 拖拽修改状态。
  • 评论和活动日志。

5.4 AI 辅助能力 ​

  • 根据项目目标拆解任务。
  • 根据任务描述生成验收标准。
  • 总结本周项目进度。
  • 根据评论生成下一步建议。

6. API 设计 ​

text
POST   /auth/register
POST   /auth/login
POST   /auth/refresh
GET    /me

GET    /organizations
POST   /organizations
POST   /organizations/:id/invitations

GET    /projects
POST   /projects
GET    /projects/:id
PATCH  /projects/:id

GET    /projects/:id/tasks
POST   /projects/:id/tasks
PATCH  /tasks/:id
DELETE /tasks/:id

POST   /tasks/:id/comments
GET    /tasks/:id/activities

POST   /ai/task-breakdown
POST   /ai/acceptance-criteria
POST   /ai/project-summary

7. Prisma 模型草案 ​

prisma
model Task {
  id          String   @id @default(cuid())
  title       String
  description String?
  status      TaskStatus @default(TODO)
  priority    Priority   @default(MEDIUM)
  dueDate     DateTime?
  projectId   String
  assigneeId  String?
  createdAt   DateTime @default(now())
  updatedAt   DateTime @updatedAt
}

8. 验收标准 ​

  • 完成登录注册和 JWT 鉴权。
  • 完成项目 CRUD。
  • 完成任务 CRUD 和状态流转。
  • 前后端共享核心类型或生成 API 类型。
  • AI 建议可以生成、预览、接受、写入任务。
  • 所有接口有基础错误处理。
  • 数据库迁移可重复执行。

9. 进阶挑战 ​

  • 增加 RBAC 权限控制。
  • 增加任务拖拽看板。
  • 增加审计日志。
  • 增加 Redis 缓存项目概览。
  • 增加 OpenAPI 文档。
  • 增加 E2E 测试。

基于 VitePress 构建的个人学习文档知识库