# REN_vibecoding **Repository Path**: vibe-coding-2026-3/ren_vibecoding ## Basic Information - **Project Name**: REN_vibecoding - **Description**: 学习vibecoding并记录 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-07 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 诸葛菜 - 个人能效管理系统 ## 项目介绍 诸葛菜是一个现代化的个人能效管理系统,帮助用户高效管理任务、提升工作效率。系统采用前后端分离架构,前端使用H5技术栈,后端使用FastAPI框架,支持用户注册登录、任务管理(增删改查)、任务分类、优先级设置、统计分析、四象限视图等功能。 ## 技术栈 ### 前端 - **HTML5/CSS3/JavaScript**: 现代化前端技术 - **ECharts 5.4.3**: 数据可视化图表库 - **HTTP Server**: Python内置HTTP服务器 ### 后端 - **Python 3.12**: 主要开发语言 - **FastAPI 0.115.0**: 高性能Web框架 - **Uvicorn**: ASGI服务器 - **Pydantic**: 数据验证 ### 数据库 - **SQLite**: 轻量级关系型数据库 - **SQLAlchemy风格**: 原生SQL查询 ### 测试与日志 - **pytest**: 单元测试框架 - **loguru**: 日志管理 ### 开发工具 - **Git**: 版本控制 - **Gitee**: 代码托管 ## 项目架构 ``` ├── backend/ # 后端代码 │ ├── main.py # FastAPI应用入口 │ ├── api/ # API路由 │ │ ├── auth.py # 认证相关API │ │ ├── tasks.py # 任务管理API │ │ └── stats.py # 统计数据API │ └── models/ # 数据模型 │ ├── user.py # 用户模型 │ └── task.py # 任务模型 ├── frontend/ # 前端代码 │ ├── index.html # 首页(统计图表) │ ├── quadrant.html # 四象限任务管理 │ ├── add-task.html # 添加任务页面 │ ├── login.html # 登录页面 │ ├── register.html # 注册页面 │ ├── css/ │ │ └── style.css # 全局样式 │ └── js/ │ └── api.js # API调用封装 ├── tests/ # 测试代码 │ └── unit/ │ ├── test_api_auth.py # 认证API测试 │ ├── test_api_tasks.py # 任务API测试 │ ├── test_api_stats.py # 统计API测试 │ ├── test_app_pytest.py # 业务逻辑测试 │ ├── test_db_pytest.py # 数据库测试 │ └── test_user_pytest.py # 用户功能测试 ├── db.py # 数据库操作层 ├── service.py # 业务逻辑层 ├── app.py # 原Streamlit应用(已弃用) ├── productivity_manager.db # SQLite数据库文件 ├── requirements.txt # 项目依赖 ├── .gitignore # Git忽略配置 ├── README.md # 项目说明文档 └── PROJECT.md # 项目详细文档 ``` ### 系统架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 前端层 (H5) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 首页统计 │ │ 四象限 │ │ 任务管理 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ ↓ ↓ ↓ │ │ └──────────────┴──────────────┘ │ │ HTTP API调用 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 后端层 (FastAPI) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 认证API │ │ 任务API │ │ 统计API │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ ↓ ↓ ↓ │ │ └──────────────┴──────────────┘ │ │ 业务逻辑层 (service.py) │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据层 (SQLite) │ │ ┌──────────┐ ┌──────────┐ │ │ │ users表 │ │ tasks表 │ │ │ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 安装教程 ### 环境要求 - Python 3.12 或更高版本 - pip 包管理器 - 现代浏览器(Chrome、Firefox、Edge等) ### 安装步骤 1. **克隆仓库** ```bash git clone https://gitee.com/vibe-coding-2026-3/ren_vibecoding.git cd ren_vibecoding ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **启动后端服务** ```bash python backend/main.py ``` 后端服务将在 http://localhost:8001 启动 4. **启动前端服务** ```bash python -m http.server 3000 --directory frontend ``` 前端服务将在 http://localhost:3000 启动 5. **访问应用** 打开浏览器访问 http://localhost:3000 ## 使用说明 ### 1. 用户注册 - 访问注册页面 - 填写用户名(3-20字符)、密码(6-50字符)、邮箱、昵称 - 点击注册按钮完成注册 ### 2. 用户登录 - 访问登录页面 - 输入用户名和密码 - 点击登录按钮 ### 3. 首页统计 - 查看任务总数、已完成、进行中统计 - 查看按分类统计的饼图 - 查看按优先级统计的柱状图 ### 4. 四象限任务管理 - **第一象限**:高优先级 + 工作分类 - **第二象限**:高优先级 + 其他分类 - **第三象限**:低优先级 + 其他分类 - **第四象限**:中优先级(所有分类) - 支持拖拽任务到不同象限修改优先级 - 点击"显示所有任务"查看完整任务列表 ### 5. 添加任务 - 填写任务标题(2-50字符) - 选择分类(工作/学习/生活/健康) - 选择优先级(高/中/低) - 填写任务描述(可选) - 点击提交按钮 ### 6. 任务操作 - **完成任务**:点击任务卡片上的完成按钮 - **删除任务**:点击任务卡片上的删除按钮 - **查看详情**:在任务列表中查看任务信息 ## 功能特性 ### 核心功能 - ✅ 用户注册与登录 - ✅ 任务增删改查 - ✅ 任务分类管理(工作/学习/生活/健康) - ✅ 优先级设置(高/中/低) - ✅ 四象限视图展示 - ✅ 任务拖拽排序 - ✅ 数据统计可视化 - ✅ 显示所有任务功能 ### 技术特性 - ✅ 前后端分离架构 - ✅ RESTful API设计 - ✅ JWT Token认证 - ✅ 响应式设计 - ✅ 数据持久化 - ✅ 日志管理(自动轮转) - ✅ 数据库索引优化 - ✅ SQL注入防护 ### 安全特性 - ✅ 密码SHA256哈希存储 - ✅ 用户权限验证 - ✅ 数据隔离(用户只能访问自己的数据) - ✅ 敏感信息不返回 - ✅ 参数化查询 ## API文档 后端API文档访问地址:http://localhost:8001/docs ### 主要API端点 #### 认证API - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/auth/me` - 获取当前用户信息 - `PUT /api/auth/profile` - 更新用户资料 - `DELETE /api/auth/account` - 删除账户 #### 任务API - `GET /api/tasks` - 获取任务列表 - `POST /api/tasks` - 创建任务 - `PUT /api/tasks/{id}` - 更新任务 - `DELETE /api/tasks/{id}` - 删除任务 - `PATCH /api/tasks/{id}/complete` - 标记任务完成 #### 统计API - `GET /api/stats/overview` - 获取统计概览 - `GET /api/stats/category` - 按分类统计 - `GET /api/stats/priority` - 按优先级统计 ## 测试说明 ### 运行测试 ```bash # 运行所有测试 pytest tests/unit/ -v # 运行特定测试文件 pytest tests/unit/test_api_auth.py -v pytest tests/unit/test_api_tasks.py -v pytest tests/unit/test_api_stats.py -v # 查看测试覆盖率 pytest tests/unit/ --cov=backend --cov-report=html ``` ### 测试覆盖 - 认证API测试:15个用例 - 任务API测试:20个用例 - 统计API测试:8个用例 - 业务逻辑测试:37个用例 - 数据库测试:63个用例 - 用户功能测试:34个用例 - **总计**:177个测试用例 ## 版本历史 | 版本 | 日期 | 功能点 | |--------|--------|----------| | v1.0 | 初始版本 | 基础任务管理、分类、优先级、Streamlit前端 | | v2.0 | 数据库迁移 | SQLite数据库、数据持久化、索引优化 | | v2.1 | 统计功能 | 任务统计、分类统计、优先级统计 | | v2.2 | 用户系统 | 用户注册、登录、资料管理 | | v3.0 | 单元测试 | pytest框架、134个测试用例 | | v3.1 | 用户关联 | 任务与用户关联、权限控制、数据隔离 | | v3.2 | 前后端重构 | H5前端、FastAPI后端、ECharts可视化、四象限界面、日志管理 | ## 常见问题 ### 1. 端口被占用 如果8001或3000端口被占用,可以修改: - 后端端口:修改 `backend/main.py` 中的 `port=8001` - 前端端口:修改启动命令中的 `3000` ### 2. 数据库文件丢失 数据库文件 `productivity_manager.db` 存储在项目根目录,请勿删除。如需重置,删除该文件后重启应用即可。 ### 3. 日志文件位置 日志文件存储在项目根目录,文件名格式为 `app_YYYY-MM-DD.log`,每天自动创建新文件。 ### 4. 浏览器兼容性 推荐使用Chrome、Firefox、Edge等现代浏览器,不支持IE浏览器。 ## 参与贡献 欢迎贡献代码!请遵循以下步骤: 1. **Fork 本仓库** 2. **新建功能分支** (`git checkout -b feat/AmazingFeature`) 3. **提交更改** (`git commit -m 'Add some AmazingFeature'`) 4. **推送到分支** (`git push origin feat/AmazingFeature`) 5. **提交 Pull Request** ### 代码规范 - 遵循PEP 8代码风格 - 添加详细的中文注释 - 为新功能编写单元测试 - 更新相关文档 ### 提交规范 - feat: 新功能 - fix: 修复bug - docs: 文档更新 - style: 代码格式调整 - refactor: 重构 - test: 测试相关 - chore: 构建/工具链相关 ## 特技 1. **多语言支持** - 使用 Readme_en.md 支持英文文档 - 使用 Readme_zh.md 支持中文文档 2. **Gitee 官方资源** - Gitee 官方博客:[blog.gitee.com](https://blog.gitee.com) - 优秀开源项目:[https://gitee.com/explore](https://gitee.com/explore) - GVP(最有价值开源项目):[https://gitee.com/gvp](https://gitee.com/gvp) - 使用手册:[https://gitee.com/help](https://gitee.com/help) - Gitee 封面人物:[https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) ## 许可证 本项目采用 MIT 许可证 - 详见 LICENSE 文件 ## 联系方式 - 项目地址:[https://gitee.com/vibe-coding-2026-3/ren_vibecoding](https://gitee.com/vibe-coding-2026-3/ren_vibecoding) - 问题反馈:[Issues](https://gitee.com/vibe-coding-2026-3/ren_vibecoding/issues) --- **最后更新**: 2026-03-26 **当前版本**: v3.2 **维护者**: vibe-coding-2026-3