本项目是将开源软件 Veritas Kanban 改造为支持 MCP (Model Context Protocol) 协议的 AI 原生项目管理工具。由人类员工和智能体构成的项目团队可以在此平台上协作,由产品经理进行规划调度。
- 基础设施容器化: 使用 Docker Compose 一键启动开发环境(App + PostgreSQL + Redis)。
- 数据库持久化: 引入 PostgreSQL 16 替代原有的 Markdown 文件存储,使用 Drizzle ORM 进行类型安全的数据访问。
- 企业级认证: 基于 Session-Cookie 机制的认证系统,密码采用 bcrypt 哈希加密,Session 存储在 Redis 中。
- RBAC 权限管理: 实现 Admin / PM / Dev / Agent 四种角色的权限矩阵,通过中间件进行路由鉴权。
- 全中文化界面: 适配中文用户习惯,完成看板、导航及提示语的中文化改造。
- 前端: React 19, Vite 7, Tailwind CSS 4, Shadcn UI
- 后端: Express 5, Drizzle ORM, PostgreSQL 16, Redis 7
- 容器化: Docker, Docker Compose v2
- 语言: TypeScript 5.7 (Strict Mode)
确保已安装 Docker 和 Docker Compose v2。
在项目根目录下运行:
docker compose up -d# 进入容器执行迁移
docker compose exec app pnpm db:migrate
# 填充示例数据
docker compose exec app pnpm db:seed- 前端界面: http://localhost:3000
- 后端 API: http://localhost:3001
- 管理员:
admin@vk.dev/admin123 - 产品经理:
pm@vk.dev/pm123 - 开发者:
dev@vk.dev/dev123
docker-compose.yml: 定义全栈服务编排。server/src/db/schema.ts: Drizzle ORM 数据库建模(9 张核心表)。server/src/middleware/auth.ts: 认证中间件。server/src/middleware/rbac.ts: 权限中间件。server/src/routes/auth.ts: 注册、登录、登出接口。server/src/routes/tasks.ts: 改造后的数据库读写任务接口。
| 接口 | 方法 | 描述 | 权限 |
|---|---|---|---|
/api/auth/register |
POST | 用户注册 | 公开 |
/api/auth/login |
POST | 用户登录 | 公开 |
/api/auth/me |
GET | 获取当前用户信息 | 已登录 |
/api/tasks |
GET | 获取所有任务 | 已登录 |
/api/tasks |
POST | 创建新任务 | 已登录 |
/api/tasks/:id |
PUT | 更新任务状态/内容 | 已登录 (Dev 仅限自己) |
/api/tasks/:id |
DELETE | 删除任务 | Admin / PM |
本项目为软件项目管理课程作业,由贾天博(后端工程师 A / 兼 MCP)提交。