《现代软件工程》团队项目Daily Scrum Report
Published:
🗓️ Daily Scrum Report: FocusPet Alpha (11.05 - 11.12)
Scrum Master: 赵昱 Sprint 阶段: Alpha 开发冲刺中段 团队成员: 赵昱, 毛一戈, 李永康, 申鹏
📅 2025年11月12日 (星期三)
状态: 冲刺收尾、集成测试与 Bug 修复
1. 昨天做了什么 (Yesterday)
- 毛一戈:
- 完成了 Todo 列表的 CalDAV 双向同步逻辑,解决了与 Nextcloud 服务器的时间戳冲突问题。
- 协助申鹏修复了前端调用
get_todos命令时的异步死锁 bug。
- 赵昱 (SM):
- 完成了统计功能 (
Stats Service) 的后端 API,支持查询“今日专注时长”和“最近7天趋势”。 - 修复了系统通知在 Windows 11 下不弹出的 Bug(权限配置问题)。
- 完成了统计功能 (
- 李永康:
- 优化了 Godot 端的 WebSocket 心跳机制,解决了后台运行断连问题。
- 添加了宠物“摸头”反馈交互。
- 申鹏:
- 完成了统计页面的前端对接,渲染了专注数据图表。
- 对整体 UI 进行了“像素级”调整,统一了边距和字体颜色。
2. 今天计划做什么 (Today)
- 毛一戈:
- 对数据库进行 Vacuum 优化,减小 SQLite 文件体积。
- 编写 Todo 模块的单元测试,确保边界情况(如空标题、超长备注)不崩坏。
- 赵昱 (SM):
- 作为 SM,主持代码合并,准备 Alpha 内部演示版本。
- 对番茄钟计时的准确性进行压力测试。
- 李永康:
- 清理 Godot 项目中未使用的资源,减小打包体积。
- 微调宠物动画播放速度。
- 申鹏:
- 修复统计图表在暗色模式下的显示 bug。
- 协助 赵昱 (SM) 进行 UI 走查。
3. 遇到的障碍 (Blockers)
- 无。准备进行内部集成测试。
📅 2025年11月11日 (星期二)
状态: 统计功能、Todo同步与 UI 深度集成
1. 昨天做了什么 (Yesterday)
- 毛一戈:
- 重构了后端 WebSocket 服务器 (
WebSocketServer) 的消息路由,支持了更复杂的 JSON 负载。 - 实现了“系统设置”的持久化存储(保存用户偏好到 SQLite)。
- 重构了后端 WebSocket 服务器 (
- 赵昱 (SM):
- 实现了番茄钟结束后的数据落库逻辑(SQLite
focus_sessions表)。 - 编写了统计模块的 SQL 聚合查询语句。
- 实现了番茄钟结束后的数据落库逻辑(SQLite
- 李永康:
- 实现了宠物根据“专注状态”自动切换动画(专注时戴眼镜,休息时玩球)。
- 联调通过:成功接收到毛一戈发出的 WebSocket 消息。
- 申鹏:
- 完成了“统计页面”的静态布局。
- 完成了 Todo 列表的拖拽排序 UI。
2. 今天计划做什么 (Today)
- 毛一戈:
- 实现 CalDAV 的基础同步功能(先做单向拉取)。
- 配合李永康调试 WebSocket 消息的具体字段定义。
- 赵昱 (SM):
- 封装统计数据的 API 供前端调用。
- 调试系统通知的声音提示功能。
- 李永康:
- 优化 WebSocket 断线重连的体验。
- 尝试添加简单的鼠标点击交互反馈。
- 申鹏:
- 对接后端的统计 API。
- 对接毛一戈的 Todo 排序接口。
3. 遇到的障碍 (Blockers)
- 申鹏: 统计图表库在 Tauri Webview 中首次加载有闪烁,需要排查 CSS 兼容性。
📅 2025年11月10日 (星期一)
状态: 周末进度同步与 WebSocket 联调
1. 昨天做了什么 (Yesterday - Weekend)
- 毛一戈:
- (周末) 完成了系统托盘 (
System Tray) 的全平台适配(Win/Mac),支持托盘右键菜单退出。 - (周末) 实现了窗口管理逻辑:点击托盘图标显示/隐藏主窗口。
- (周末) 完成了系统托盘 (
- 赵昱 (SM):
- (周末) 搭建了统计功能的数据库表结构。
- (周末) 审查了申鹏提交的 UI 代码,合并了主分支。
- 李永康:
- (周末) Godot 客户端成功连接到了毛一戈搭建的 WebSocket 服务。
- (周末) 完成了宠物的基础“待机”和“行走”动画状态机。
- 申鹏:
- (周末) 完成了设置页面的 UI 开发。
- (周末) 实现了深色模式/浅色模式的主题切换逻辑。
2. 今天计划做什么 (Today)
- 毛一戈:
- 完善 WebSocket 服务器的消息广播机制(当 Todo 完成时,广播消息给 Godot)。
- 开始研究
reqwest库,为 CalDAV 做准备。
- 赵昱 (SM):
- 实现专注结束时的数据记录逻辑。
- 与李永康确认“专注结束”的消息格式。
- 李永康:
- 根据后端发出的
focus_status消息,绑定对应的宠物动画。 - 解决 Godot 窗口背景透明在 Windows 上的边缘锯齿问题。
- 根据后端发出的
- 申鹏:
- 开始开发“统计页面”的 UI 骨架。
- 配合 赵昱 (SM) 调试番茄钟倒计时的前端显示精度。
3. 遇到的障碍 (Blockers)
- 李永康: WebSocket 消息格式定义需要再次确认,目前的 JSON 字段有些混乱(需与后端毛一戈对齐)。
📅 2025年11月07日 (星期五)
状态: 后端基础设施搭建与系统通知
1. 昨天做了什么 (Yesterday)
- 毛一戈:
- 完成了 Todo 模块的核心 CRUD 逻辑 (
TodoService)。 - 实现了 Rust
Command宏,暴露 Todo 接口给前端。 - 搭建了 WebSocket 服务器的基础框架 (
actix-web/tokio-tungstenite)。
- 完成了 Todo 模块的核心 CRUD 逻辑 (
- 赵昱 (SM):
- 完成了番茄钟的核心计时逻辑 (
Timer Service)。 - 引入了
notify-rust库,实现了基础的桌面通知弹窗。
- 完成了番茄钟的核心计时逻辑 (
- 李永康:
- 在 Godot 中实现了 WebSocket Client 的基础封装。
- 导入了美术资源,建立了宠物的基本场景。
- 申鹏:
- 搭建了 React 项目的路由结构 (Focus/Stats/Settings)。
- 完成了“专注页面”的初版 UI(包含开始/暂停按钮)。
2. 今天计划做什么 (Today)
- 毛一戈:
- 实现系统托盘功能(Tray Icon)。
- 实现窗口的“置顶”和“穿透”属性配置接口。
- 赵昱 (SM):
- 将系统通知与番茄钟状态绑定(计时结束 -> 触发通知)。
- 设计统计功能的数据库 Schema。
- 李永康:
- 联调 WebSocket:尝试从 Godot 连接毛一戈的本地服务器。
- 编写宠物动画状态机脚本。
- 申鹏:
- 完善“专注页面”的交互逻辑(点击按钮调用 Rust Command)。
- 开发“设置页面”的基础 UI。
3. 遇到的障碍 (Blockers)
- 无。
📅 2025年11月06日 (星期四)
状态: 数据库设计与番茄钟逻辑
1. 昨天做了什么 (Yesterday)
- 毛一戈:
- 设计并初始化了 SQLite 数据库架构 (
init_db.sql)。 - 创建了
Todo和Settings的 Rust Struct 实体定义。
- 设计并初始化了 SQLite 数据库架构 (
- 赵昱 (SM):
- 定义了番茄钟的状态机 (Idle -> Focusing -> Break)。
- 编写了系统通知功能的接口定义 (
Notification Trait)。
- 李永康:
- 研究了 Godot 4.x 的 WebSocket 实现文档。
- 搭建了 Godot 的空项目结构,配置了透明窗口。
- 申鹏:
- 初始化了 React + Tailwind + ShadcnUI 的前端工程。
- 设计了应用的主色调和基础组件库。
2. 今天计划做什么 (Today)
- 毛一戈:
- 实现 Todo 的增删改查后端业务逻辑。
- 搭建 WebSocket 服务器的雏形,供李永康测试连接。
- 赵昱 (SM):
- 实现具体的计时器倒计时逻辑。
- 实现系统通知的具体发送代码(Windows/Mac 适配)。
- 李永康:
- 在 Godot 中编写 WebSocket 连接脚本。
- 导入第一版宠物素材进行渲染测试。
- 申鹏:
- 实现 App 的侧边栏导航和多页面路由跳转。
- 切图:实现“专注页面”的高保真还原。
3. 遇到的障碍 (Blockers)
- 李永康: Godot 导出到 Windows 后,透明背景偶尔会变黑,正在查文档解决。
📅 2025年11月05日 (星期三)
状态: 初步设计
1. 昨天做了什么 (Yesterday)
- 毛一戈:
- 参与了项目需求讨论,明确了 Alpha 版本的核心功能。
- 设计了数据库的初步表结构(Users, Todos, FocusSessions)。
- 赵昱 (SM):
- 制定了 Sprint 计划,分配了各成员的任务。
- 研究了 Tauri 框架的基本用法和插件机制。
- 李永康:
- 评估了 Godot 引擎作为宠物渲染工具的可行性。
- 收集了开源宠物模型资源。
- 申鹏:
- 设计了应用的整体 UI 风格和配色方案。
- 制作了首页和设置页的线框图。
2. 今天计划做什么 (Today)
- 毛一戈:
- 初始化 Tauri 后端项目结构。
- 设计后端模块划分(Core, Services, API)。
- 赵昱 (SM):
- 召开 Sprint 规划会,确认 Alpha 版本的功能范围。
- 搭建 Tauri 前端项目骨架。
- 李永康:
- 建立 Godot 项目仓库。
- 配置 Godot 开发环境。
- 申鹏:
- 搭建前端开发环境(Node, pnpm)。
- 创建 React + TailwindCSS 项目骨架。
📅 2025年11月04日 (星期二)
状态: 项目启动与技术选型
1. 昨天做了什么 (Yesterday)
- 赵昱 (SM):
- (作为 SM) 召开了 Sprint 规划会,确认了 Alpha 版本的功能范围。
- 初始化了 Tauri 后端项目结构。
- 毛一戈:
- 确认了数据库选型 (SQLite) 和 ORM 方案 (SeaORM/SQLx)。
- 规划了后端模块结构 (Core, Services, API)。
- 李永康:
- 确认了 Godot 作为宠物渲染引擎的技术选型。
- 获取了美术素材。
- 申鹏:
- 确认了 UI 设计稿(Figma)。
- 配置了前端开发环境(Node, pnpm)。
2. 今天计划做什么 (Today)
- 毛一戈:
- 编写数据库初始化脚本。
- 定义后端与前端通信的
Command列表。
- 赵昱 (SM):
- 开始编写番茄钟后端核心服务 (
TimerService)。 - 设计系统通知模块的架构。
- 开始编写番茄钟后端核心服务 (
- 李永康:
- 研究 Godot 与 Tauri 通信的最佳实践。
- 建立 Godot 项目仓库。
- 申鹏:
- 搭建前端脚手架,引入 Shadcn UI 组件库。
- 搭建主界面基础布局框架。
3. 遇到的障碍 (Blockers)
- 无。项目启动顺利。
📈 燃尽图快照 (截止 11.12)
---
config:
xyChart:
width: 700
height: 400
themeVariables:
xyChart:
plotColorPalette: "#e63946, #457b9d"
---
xychart-beta
title "FocusPet Alpha Sprint 燃尽图"
x-axis ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "D11", "D12"]
y-axis "剩余工时 (Hours)" 0 --> 250
%% 下面第一行是理想线 (240 -> 0)
line [240, 220, 200, 180, 160, 140, 120, 100, 80, 60, 40, 20, 0]
%% 下面第二行是实际剩余工时 (你需要每天修改这里的数字)
line [240, 225, 200, 175, 150]
Leave a Comment