任务管理系统
一个用Go、PostgreSQL和模型上下文协议(MCP)构建的任务管理系统。
行动项目
\[\]当前没有authN/authZ
建筑
- REST API:用于任务管理的基于Golang的REST API
- 数据库:PostgreSQL用于持久存储
- MCP服务器:用于AI集成的模型上下文协议服务器
先决条件
- 达到1.21或更高
- Docker和Docker Compose
- PostgreSQL(通过Docker)
项目结构
taskman/
├── taskman-api/ # REST API server
└── taskman-mcp/ # MCP server安装说明
1.克隆存储库
git clone
cd taskman2.环境配置
复制示例环境文件并配置您的设置:
cp .env.example .env编辑 .env 并更新以下变量:
TASKMAN_DB_PASSWORD:为数据库设置安全密码- 其他变量可以保留为本地开发的默认值
3.启动PostgreSQL数据库
docker-compose up -d这将使用配置的环境变量启动PostgreSQL。
注意:默认端口为5433,以避免与现有PostgreSQL安装冲突。
4.初始化Go模块
# Initialize API module
cd taskman-api
go mod download
# Initialize MCP module
cd ../taskman-mcp
go mod download5.运行数据库迁移
cd taskman-api
go run cmd/migrate/main.go up6.启动API服务器
cd taskman-api
go run cmd/api/main.goAPI服务器将于启动 http://localhost:8080 (或在TASKMAN_API_port中指定的端口)。
7.启动MCP服务器
在新终端中:
cd taskman-mcp
go run cmd/server/main.goAPI终点
任务管理
GET /api/v1/tasks-列出所有任务POST /api/v1/tasks-创建新任务GET /api/v1/tasks/{task_id}-获取任务详细信息PUT /api/v1/tasks/{task_id}-更新任务DELETE /api/v1/tasks/{task_id}-删除任务
项目管理
GET /api/v1/projects-列出所有项目POST /api/v1/projects-创建新项目GET /api/v1/projects/{project_id}-获取项目详细信息PUT /api/v1/projects/{project_id}-更新项目DELETE /api/v1/projects/{project_id}-删除项目GET /api/v1/projects/{project_id}/tasks-获取项目中的任务
任务注释
GET /api/v1/tasks/{task_id}/notes-获取任务笔记POST /api/v1/tasks/{task_id}/notes-向任务添加注释PUT /api/v1/tasks/{task_id}/notes/{note_id}-更新注释DELETE /api/v1/tasks/{task_id}/notes/{note_id}-删除注释
发展
运行测试
# Run API tests
cd taskman-api
go test ./...
# Run MCP tests
cd taskman-mcp
go test ./...生产大楼
# Build API server
cd taskman-api
go build -o bin/api cmd/api/main.go
# Build MCP server
cd taskman-mcp
go build -o bin/mcp cmd/server/main.go许可证
\[您的许可证在这里\]
