Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

AltStyle によって変換されたページ (->オリジナル) /