# vibe-coding-ycf **Repository Path**: vibe-coding-2026-3/vibe-coding-ycf ## Basic Information - **Project Name**: vibe-coding-ycf - **Description**: 记录vibe coding学习之旅 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-09 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 诸葛菜任务管理系统 (ZGC Task Management) 一个基于前后端分离架构的个人任务管理系统,支持任务分类、四象限优先级管理、数据统计和可视化展示。 ## 功能特性 ### 核心功能 - ✅ **用户认证**:注册、登录、Token认证 - ✅ **任务管理**:创建、编辑、删除、标记完成任务 - ✅ **任务分类**:工作、学习、生活、其他 + 自定义分类 - ✅ **四象限优先级**:重要且紧急、重要不紧急、紧急不重要、不重要不紧急 - ✅ **拖拽交互**:支持拖拽任务到不同象限修改优先级 - ✅ **任务搜索**:支持按标题和描述进行关键词搜索 - ✅ **任务排序**:支持按创建时间、更新时间、标题排序 - ✅ **任务筛选**:支持按分类、优先级、完成状态筛选 - ✅ **截止日期**:支持设置任务截止日期和时间 - ✅ **数据可视化**:ECharts 图表展示统计数据 ### 视图模式 - 📋 **列表视图**:今日任务、本周任务、逾期任务、全部任务 - 📊 **四象限视图**:按重要性和紧急性矩阵展示 - 📅 **日历视图**:按日期在日历上展示任务 ## 技术栈 ### 前端 - Vue 3 - 渐进式 JavaScript 框架 - Vite - 下一代前端构建工具 - Naive UI - Vue 3 组件库 - ECharts - 数据可视化图表库 - Pinia - Vue 状态管理 - Vue Router - Vue 官方路由 - Axios - HTTP 客户端 ### 后端 - Python 3.11+ - FastAPI - 现代化 Python Web 框架 - Uvicorn - ASGI 服务器 - Pydantic - 数据验证库 - SQLite3 - 数据库 - Loguru - 日志系统 ## 项目结构 ``` vibe-coding-ycf/ ├── backend/ # 后端服务 │ ├── api/ # API 路由 │ ├── database/ # 数据库操作 │ ├── logs/ # 日志文件目录 │ ├── main.py # FastAPI 应用入口 │ ├── requirements.txt # 生产依赖 │ └── requirements-dev.txt # 开发依赖 ├── frontend/ # 前端应用 │ ├── src/ │ │ ├── layouts/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面组件 │ ├── vite.config.js # Vite 配置 │ └── package.json # 前端依赖 ├── tests/ # 测试文件 │ ├── unit/ # 单元测试 │ └── integration/ # 集成测试 ├── Dockerfile # Docker 镜像构建 ├── deploy.bat # 一键部署脚本 ├── .pre-commit-config.yaml # Pre-commit 配置 └── setup-hooks.bat # Pre-commit 安装脚本 ``` ## 快速开始 ### 方式一:Docker 部署(推荐) ```bash # Windows 一键部署 deploy.bat # 或 PowerShell .\deploy.ps1 # 手动构建 docker build -t zgc-task-management:latest . docker run -d -p 8000:8000 --name zgc-app zgc-task-management:latest ``` 访问地址:http://localhost:8000 ### 方式二:本地开发 #### 环境要求 - Python 3.11+ - Node.js 16+ - npm 或 yarn #### 安装依赖 ```bash # 后端依赖 pip install -r backend/requirements.txt # 前端依赖 cd frontend npm install ``` #### 启动应用 ```bash # 启动后端 python backend/main.py # 启动前端(新终端) cd frontend npm run dev ``` - 后端地址:http://localhost:8000 - 前端地址:http://localhost:5173 ## 开发指南 ### 安装 Pre-commit Hooks ```bash # 安装开发依赖 pip install -r backend/requirements-dev.txt # 安装 pre-commit hooks python -m pre_commit install ``` ### 运行测试 ```bash # 运行单元测试 pytest -m unit # 运行集成测试 pytest -m integration # 运行所有测试 pytest # 生成覆盖率报告 pytest --cov=backend --cov-report=html ``` ### 代码检查 ```bash # 运行所有 pre-commit 检查 python -m pre_commit run --all-files # 格式化代码 python -m black backend/ # 代码检查 python -m flake8 backend/ # 导入排序 python -m isort backend/ ``` ## API 接口 ### 认证接口 | 方法 | 路径 | 说明 | |------|------|------| | POST | /auth/register | 用户注册 | | POST | /auth/login | 用户登录 | | GET | /auth/me | 获取当前用户信息 | ### 任务接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /tasks | 获取任务列表 | | POST | /tasks | 创建任务 | | PUT | /tasks/{task_id} | 更新任务 | | DELETE | /tasks/{task_id} | 删除任务 | ### 分类接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /categories | 获取分类列表 | | POST | /categories | 创建分类 | | PUT | /categories/{category_id} | 更新分类 | | DELETE | /categories/{category_id} | 删除分类 | ### 统计接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /stats | 获取统计数据 | | GET | /schedule | 获取日程安排 | ## 数据库设计 ### users 表 | 字段 | 类型 | 说明 | |------|------|------| | id | TEXT | 用户唯一标识 | | username | TEXT | 用户名(唯一) | | email | TEXT | 邮箱(唯一) | | password_hash | TEXT | 密码哈希 | | created_at | TEXT | 创建时间 | | last_login | TEXT | 最后登录时间 | | token | TEXT | 认证令牌 | ### tasks 表 | 字段 | 类型 | 说明 | |------|------|------| | id | TEXT | 任务唯一标识 | | title | TEXT | 任务标题 | | description | TEXT | 任务描述 | | category | TEXT | 任务分类 | | priority | TEXT | 任务优先级 | | completed | INTEGER | 完成状态 | | user_id | TEXT | 所属用户ID | | due_date | TEXT | 截止日期 | | due_time | TEXT | 截止时间 | ### categories 表 | 字段 | 类型 | 说明 | |------|------|------| | id | TEXT | 分类唯一标识 | | name | TEXT | 分类名称 | | color | TEXT | 分类颜色 | | user_id | TEXT | 所属用户ID | ## 项目特色 1. **前后端分离** - 采用现代化的前后端分离架构 2. **现代化技术栈** - Vue 3 + FastAPI,性能优秀 3. **四象限管理** - 基于艾森豪威尔矩阵的任务优先级管理 4. **拖拽交互** - 支持拖拽任务到不同象限 5. **数据可视化** - ECharts 图表展示 6. **现代 UI 设计** - 玻璃态效果和渐变背景 7. **响应式布局** - 适配不同屏幕尺寸 8. **Token 认证** - 安全的用户认证机制 9. **Docker 支持** - 一键构建和部署 10. **代码质量保障** - Pre-commit hooks 自动检查 ## 许可证 请参考项目根目录的 LICENSE 文件。 ## 参与贡献 1. Fork 本仓库 2. 安装 pre-commit hooks:`setup-hooks.bat` 3. 新建 Feat_xxx 分支 4. 提交代码(pre-commit 会自动检查) 5. 新建 Pull Request