# vibe-coding-lr **Repository Path**: vibe-coding-2026-3/vibe-coding-lr ## Basic Information - **Project Name**: vibe-coding-lr - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-09 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人能效管理系统 一个基于 Streamlit 和 SQLite 的个人任务管理和能效提升工具,采用四象限优先级法则(艾森豪威尔矩阵)帮助用户高效管理时间和任务。 ## 项目简介 本系统旨在帮助用户通过科学的任务管理方法提升个人能效。系统集成了任务管理、分类管理、四象限优先级管理等功能,采用 SQLite 数据库实现数据持久化,确保数据安全可靠。 ## 功能特性 ### 核心功能 - **任务管理** - 任务的增删改查(CRUD) - 任务标题验证(长度限制和提示) - 任务状态管理(待办、进行中、已完成) - 任务描述和时间记录 - **任务分类** - 预设分类(工作、学习、生活、健康) - 自定义分类添加 - 按分类分组查看任务 - 分类统计功能 - **四象限优先级系统** - 第一象限:重要且紧急(立即处理) - 第二象限:重要但不紧急(计划安排) - 第三象限:不重要但紧急(委托他人) - 第四象限:不重要且不紧急(删除或延后) - 拖拽调整任务优先级象限 - **任务统计** - 总任务数统计 - 按分类统计 - 按象限统计 - 按状态统计 - 可视化展示 ### 数据持久化 - 使用 SQLite 数据库存储所有数据 - 数据库文件:`productivity_manager.db` - 支持数据备份和恢复 - 刷新页面后数据不丢失 ## 技术栈 ### 前端 - **Streamlit** - Python Web 应用框架 - 界面简洁美观,响应式设计 ### 后端 - **Python 3.12** - 主要开发语言 - **SQLite3** - 数据库管理 ### 数据库 - **SQLite** - 轻量级关系型数据库 - 支持事务和索引优化 ## 安装步骤 ### 环境要求 - Python 3.12 或更高版本 - Windows 操作系统 - 网络连接(用于安装依赖) ### 安装方法 #### 方法一:使用安装脚本(推荐) 1. 下载项目到本地 2. 双击运行 `install.bat` 3. 等待安装完成 #### 方法二:手动安装 1. 创建虚拟环境 ```bash python -m venv zgc ``` 2. 激活虚拟环境 ```bash .\zgc\Scripts\activate ``` 3. 安装依赖 ```bash pip install -r requirements.txt ``` ### 依赖包 主要依赖包: - streamlit - Web 应用框架 - pandas - 数据处理 - numpy - 数值计算 ## 使用说明 ### 启动应用 1. 激活虚拟环境 ```bash .\zgc\Scripts\activate ``` 2. 启动应用 ```bash streamlit run app.py ``` 3. 在浏览器中打开显示的地址(通常是 http://localhost:8501) ### 功能使用指南 #### 1. 任务管理 **添加任务** - 在"任务管理"标签页左侧表单中填写任务信息 - 任务标题(必填,2-50个字符) - 任务描述(可选,最多500字符) - 选择任务分类 - 选择优先级象限 - 点击"添加任务"按钮 **查看任务** - 任务列表显示在右侧 - 点击任务展开查看详细信息 - 可以更新任务状态、编辑或删除任务 **编辑任务** - 点击任务列表中的"编辑任务"按钮 - 修改任务信息 - 保存修改 **删除任务** - 点击任务列表中的"删除任务"按钮 - 确认删除 #### 2. 任务分类 **添加分类** - 在"任务分类"标签页左侧输入分类名称 - 点击"添加分类"按钮 **查看分类** - 现有分类显示在左侧 - 右侧按分类分组显示任务 #### 3. 四象限优先级管理 **查看象限** - 四个象限分别显示不同优先级的任务 - 每个象限有对应的颜色标识和说明 **调整象限** - 在任务下方选择新的象限 - 点击"移动"按钮 - 任务将移动到新的象限 #### 4. 象限统计 **查看统计** - 查看各象限任务分布 - 查看任务完成情况 - 阅读象限说明和使用建议 ## 项目结构 ``` zgc/ ├── app.py # 主应用文件 ├── database.py # 数据库管理类 ├── service.py # 业务逻辑(已废弃) ├── requirements.txt # 依赖包列表 ├── install.bat # 安装脚本 ├── pip.ini # pip 配置文件 ├── productivity_manager.db # SQLite 数据库文件 ├── .gitignore # Git 忽略文件 ├── README.md # 项目说明文档 ├── FIRST_GITEE_STEPS.md # Git 操作步骤文档 └── tests/ # 测试目录 ├── unit/ # 单元测试 │ ├── __init__.py │ └── test_app_pytest.py └── README.md # 测试说明文档 ``` ## 数据库设计 ### tasks 表(任务表) | 字段 | 类型 | 说明 | |------|------|------| | id | INTEGER | 主键,自动递增 | | title | TEXT | 任务标题,必填 | | description | TEXT | 任务描述,可为空 | | category | TEXT | 分类 | | quadrant | INTEGER | 象限(1-4) | | status | TEXT | 状态(待办/进行中/已完成) | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ### categories 表(分类表) | 字段 | 类型 | 说明 | |------|------|------| | id | INTEGER | 主键,自动递增 | | name | TEXT | 分类名称,唯一 | | created_at | TIMESTAMP | 创建时间 | ### 索引 - `idx_category` - category 字段索引 - `idx_quadrant` - quadrant 字段索引 - `idx_created_at` - created_at 字段索引 ## 开发指南 ### 代码规范 - 使用 Python 3.12 语法 - 遵循 PEP 8 代码风格 - 添加详细的中文注释 - 使用类型提示(Type Hints) ### 数据库操作 所有数据库操作通过 `DatabaseManager` 类进行: ```python from database import DatabaseManager # 创建数据库管理器 db = DatabaseManager() # 添加任务 task_id = db.add_task(title, description, category, quadrant, status) # 获取任务 task = db.get_task(task_id) # 更新任务 db.update_task(task_id, title=new_title, status=new_status) # 删除任务 db.delete_task(task_id) # 查询任务 all_tasks = db.get_all_tasks() tasks_by_category = db.get_tasks_by_category('工作') tasks_by_quadrant = db.get_tasks_by_quadrant(1) ``` ### 测试 运行单元测试: ```bash pytest tests/unit/test_app_pytest.py ``` ### 安全性 - 使用占位符 `?` 防止 SQL 注入 - 所有数据库操作都使用 `commit()` 提交更改 - 输入验证和错误处理 ## 四象限法则说明 ### 第一象限:重要且紧急 🔴 - **处理方式**:立即处理 - **优先级**:最高 - **示例**:紧急会议、截止日期临近的项目、突发事件 ### 第二象限:重要但不紧急 🟡 - **处理方式**:计划安排 - **优先级**:高 - **示例**:学习新技能、健康锻炼、长期目标、战略规划 ### 第三象限:不重要但紧急 🟠 - **处理方式**:委托他人 - **优先级**:中 - **示例**:不必要的会议、某些电话、干扰性事务 ### 第四象限:不重要且不紧急 🟢 - **处理方式**:删除或延后 - **优先级**:低 - **示例**:无意义的娱乐、浪费时间的事务 ### 使用建议 - 将大部分时间投入第二象限 - 减少第三象限的事务 - 尽量避免第四象限的活动 - 第一象限任务应尽快处理 ## 常见问题 ### Q: 数据存储在哪里? A: 数据存储在项目目录下的 `productivity_manager.db` SQLite 数据库文件中。 ### Q: 如何备份数据? A: 直接复制 `productivity_manager.db` 文件即可备份所有数据。 ### Q: 应用启动失败怎么办? A: 确保已安装所有依赖包,可以尝试重新运行 `pip install -r requirements.txt`。 ### Q: 如何重置数据库? A: 删除 `productivity_manager.db` 文件,重新启动应用会自动创建新的数据库。 ### Q: 支持多用户吗? A: 当前版本为单用户版本,数据存储在本地数据库中。 ## 更新日志 ### v2.3 (2026-03-17) - 迁移到 SQLite 数据库存储 - 实现数据持久化 - 添加数据库索引优化查询性能 - 更新 .gitignore 忽略数据库文件 ### v2.2 (2026-03-17) - 实现四象限优先级系统 - 添加象限拖拽调整功能 - 新增象限统计和使用说明 ### v2.1 (2026-03-17) - 添加任务统计功能 - 实现任务标题验证 - 优化界面布局 ### v2.0 (2026-03-17) - 重构项目结构 - 添加单元测试 - 完善文档 ### v1.0 (2026-03-17) - 初始版本发布 - 实现基础任务管理功能 - 实现任务分类功能 ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 许可证 本项目采用 MIT 许可证。 ## 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 ## 致谢 感谢所有为本项目做出贡献的开发者! --- **注意**:本系统仅供个人使用,请勿用于商业用途。