面向开发主管的任务记事本 MVP,现已补齐本地 MySQL 持久化、前后端启动方式、容器化部署文件和黑盒测试脚本。
- 后端使用 Go + MySQL,启动时自动创建数据库、表结构并在空库时注入演示数据
- 前端使用 React + TypeScript + Vite,本地开发通过代理直接访问后端
- 支持任务查询、创建、状态更新,且数据写入本地 MySQL
- 提供 Docker Compose 一键拉起 MySQL、后端和前端静态站点
- 提供黑盒测试脚本,验证健康检查、任务读写链路和前端首页可用性
backend: Go 后端、MySQL 连接配置、容器构建文件frontend: React 前端、Vite 代理配置、Nginx 部署文件scripts: 黑盒测试脚本docs: 本地开发与部署说明
本项目默认读取以下后端环境变量,可直接复制配置:
cp backend/.env.example backend/.env默认连接参数如下:
APP_PORT=8080
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=000000
MYSQL_DATABASE=daytask默认已经按本机 root/000000 配置,后端会自动执行 CREATE DATABASE IF NOT EXISTS daytask。
make depsmake backend-run后端默认监听 http://127.0.0.1:8080。
make frontend-dev前端默认监听 http://127.0.0.1:5173,并通过 Vite 代理把 /api 和 /healthz 转发到后端。
make docker-up启动后可访问:
- 前端:
http://127.0.0.1:4173 - 后端:
http://127.0.0.1:8080 - MySQL:
127.0.0.1:3306
停止并清理容器与数据卷:
make docker-down查看容器日志:
make docker-logs默认针对本地开发模式运行:
make smoke-test如果你要验证 Docker Compose 环境,可覆盖访问地址:
BACKEND_BASE_URL=http://127.0.0.1:8080 FRONTEND_BASE_URL=http://127.0.0.1:4173 make smoke-test脚本会校验:
GET /healthz可用且数据库连通POST /api/tasks能创建任务PATCH /api/tasks/{id}能更新任务GET /api/tasks?keyword=...能检索刚创建的数据- 前端首页可正常返回 HTML
GET /healthzGET /api/dashboardGET /api/tasksPOST /api/tasksGET /api/tasks/{id}PATCH /api/tasks/{id}DELETE /api/tasks/{id}GET /api/projectsGET /api/teamGET /api/time-blocks
- 本地开发说明:
docs/local-dev.md - 部署说明:
docs/deploy.md - API 文档:
docs/API.md
DayTask 支持多角色权限管理:
- owner (所有者): 拥有项目的所有权限,包括成员管理和项目设置
- admin (管理员): 拥有读写权限,可以管理成员
- member (成员): 拥有基本读写权限
- viewer (查看者): 只能查看,不能修改
| 功能 | owner | admin | member | viewer |
|---|---|---|---|---|
| 查看项目 | ✓ | ✓ | ✓ | ✓ |
| 创建任务 | ✓ | ✓ | ✓ | ✗ |
| 编辑任务 | ✓ | ✓ | ✓ | ✗ |
| 删除任务 | ✓ | ✓ | ✗ | ✗ |
| 管理成员 | ✓ | ✓ | ✗ | ✗ |
| 管理项目 | ✓ | ✗ | ✗ | ✗ |
运行 API 测试脚本:
cd scripts
chmod +x api-test.sh
./api-test.sh- 进入项目详情页
- 点击"项目成员"选项卡
- 点击"添加成员"
- 输入用户 ID 和角色
- 点击"添加"
所有任务操作都会记录在活动日志中,包括:
- 任务创建
- 任务更新
- 状态变更
- 成员变更
本项目使用多 Agent 协作开发:
- backend-dev: 后端服务和 API 开发
- frontend-dev: 前端界面和用户体验
- feature-dev: 特色功能(评论、活动日志等)
- qa-dev: 测试和文档