Skip to content

Latest commit

 

History

History
80 lines (66 loc) · 2.97 KB

File metadata and controls

80 lines (66 loc) · 2.97 KB

AgentCalendar - 高密度信息日程管理系统

我一直以来都希望有一个足够详细的scheduling和calendar的工具,但是事实上一直以来都没找到合适的,目前的工具大都特别简单,只能简单的做一些记录。 我目前实现的版本是基于excel做的,信息量足够了,但是模板一旦定义好,信息之间的串联就很难做

项目目标

  • 实现足够信息密度的软件
  • 可以自定义页面等等,并且可以串联统计
  • 支持不同尺度的可视化(日、周、月、年)
  • 风格设置为两种:极客风和极简风格,可以自己点击转换

技术栈

  • 后端:FastAPI + SQLAlchemy + SQLite
  • 前端:React + TypeScript + Tailwind CSS
  • 开发工具:uv (Python 包管理)
  • 代码质量:Ruff (格式化和linting)

项目结构

AgentCalendar/
├── backend/           # 后端 API 服务
│   ├── app/
│   │   ├── api/       # API 路由
│   │   ├── core/      # 数据库配置
│   │   └── models/    # 数据模型
│   ├── run.py         # 后端启动脚本
│   └── seed_data.py   # 示例数据生成
├── frontend/          # 前端 React 应用
│   └── src/
│       ├── components/
│       └── App.tsx
├── start.py          # 统一启动脚本
└── pyproject.toml    # Python 项目配置

主要功能

  1. 详细时间段管理: 支持按小时粒度的日程安排(7:00-24:00)
  2. 双主题切换: 极客风格和极简风格一键切换
  3. 多视图模式: 支持日、周、月视图
  4. 数据统计: 生产力评分、完成状态统计
  5. 响应式设计: 适配不同屏幕尺寸

开发规范

  • 使用 uv 进行 Python 包管理
  • 使用 Ruff 进行代码格式化和质量检查
  • 遵循 PEP 8 代码规范
  • TypeScript 严格模式开发

最近更新 (2025-09-14)

v2.1.0 - 重大Bug修复版本

经过5轮系统性测试和迭代修复,完全解决了日视图编辑数据不保留的关键问题:

🔧 核心修复

  1. 后端日期查询修复 (backend/app/api/calendar.py)

    • 修复DateTime存储与Date查询不匹配问题
    • 使用func.date()确保正确的日期比较
    • 添加CalendarEventUpdate模型支持部分字段更新
  2. 前端状态管理优化 (frontend/src/components/)

    • 统一使用selectedDate替代分散的日期状态
    • 修复视图切换时的日期状态不一致
    • 改进错误处理机制
  3. API接口完善

    • 实现真正的部分更新,避免覆盖现有数据
    • 优化错误传播机制
    • 改进查询性能

🧪 测试验证

  • 使用Playwright进行端到端测试
  • 通过5轮迭代测试确保功能稳定
  • 验证数据持久化和视图切换功能

✅ 功能状态

  • 日视图编辑: ✅ 完全正常
  • 数据持久化: ✅ 视图切换后数据保持
  • API稳定性: ✅ 查询和更新功能正常
  • 代码质量: ✅ 通过Ruff检查和格式化