外观
项目 03:AI 任务管理全栈平台
1. 项目定位
这是第一个真正全栈项目。它不是普通 Todo,而是面向团队的 AI 任务管理平台:用户可以创建项目、任务、知识上下文,让 AI 辅助拆解任务、生成执行计划、总结进度。
项目目标是训练 NestJS、Prisma、PostgreSQL、鉴权、接口设计,以及前后端类型协作。
2. 对应学习资料
Node.js系统学习文档.mdNestJS系统学习文档.mdPrisma ORM系统学习文档.mdPostgreSQL系统学习文档.mdMySQL系统学习文档.mdPostgreSQL、MySQL、MongoDB数据库技术对比学习文档.mdTypeScript系统学习文档.md
3. 技术栈
- 前端:Vue 3、TypeScript、Vite、Pinia、Tailwind CSS。
- 后端:NestJS、Prisma、PostgreSQL。
- 鉴权:JWT + Refresh Token。
- AI:第一版 mock,第二版接入真实模型。
- 缓存可选:Redis。
4. 核心业务对象
| 对象 | 说明 |
|---|---|
| User | 用户 |
| Organization | 团队或组织 |
| Project | 项目 |
| Task | 任务 |
| TaskComment | 任务评论 |
| AiSuggestion | AI 生成建议 |
| 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-summary7. 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 测试。