Skip to content

congim/dayTask

Repository files navigation

DayTask

面向开发主管的任务记事本 MVP,现已补齐本地 MySQL 持久化、前后端启动方式、容器化部署文件和黑盒测试脚本。

当前能力

  • 后端使用 Go + MySQL,启动时自动创建数据库、表结构并在空库时注入演示数据
  • 前端使用 React + TypeScript + Vite,本地开发通过代理直接访问后端
  • 支持任务查询、创建、状态更新,且数据写入本地 MySQL
  • 提供 Docker Compose 一键拉起 MySQL、后端和前端静态站点
  • 提供黑盒测试脚本,验证健康检查、任务读写链路和前端首页可用性

目录

  • backend: Go 后端、MySQL 连接配置、容器构建文件
  • frontend: React 前端、Vite 代理配置、Nginx 部署文件
  • scripts: 黑盒测试脚本
  • docs: 本地开发与部署说明

本地开发

1. 准备 MySQL

本项目默认读取以下后端环境变量,可直接复制配置:

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

2. 安装依赖

make deps

3. 启动后端

make backend-run

后端默认监听 http://127.0.0.1:8080

4. 启动前端

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

API

  • GET /healthz
  • GET /api/dashboard
  • GET /api/tasks
  • POST /api/tasks
  • GET /api/tasks/{id}
  • PATCH /api/tasks/{id}
  • DELETE /api/tasks/{id}
  • GET /api/projects
  • GET /api/team
  • GET /api/time-blocks

参考文档

  • 本地开发说明: docs/local-dev.md
  • 部署说明: docs/deploy.md
  • API 文档: docs/API.md

多角色权限

DayTask 支持多角色权限管理:

  • owner (所有者): 拥有项目的所有权限,包括成员管理和项目设置
  • admin (管理员): 拥有读写权限,可以管理成员
  • member (成员): 拥有基本读写权限
  • viewer (查看者): 只能查看,不能修改

角色权限表

功能 owner admin member viewer
查看项目
创建任务
编辑任务
删除任务
管理成员
管理项目

API 测试

运行 API 测试脚本:

cd scripts
chmod +x api-test.sh
./api-test.sh

团队协作

添加项目成员

  1. 进入项目详情页
  2. 点击"项目成员"选项卡
  3. 点击"添加成员"
  4. 输入用户 ID 和角色
  5. 点击"添加"

活动日志

所有任务操作都会记录在活动日志中,包括:

  • 任务创建
  • 任务更新
  • 状态变更
  • 成员变更

开发团队

本项目使用多 Agent 协作开发:

  • backend-dev: 后端服务和 API 开发
  • frontend-dev: 前端界面和用户体验
  • feature-dev: 特色功能(评论、活动日志等)
  • qa-dev: 测试和文档

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors