# autoRemindSystem **Repository Path**: benna/auto-remind-system ## Basic Information - **Project Name**: autoRemindSystem - **Description**: 自动提醒系统,专注于开发高效、易用的提醒工具,支持AzureDevops平台+企业微信使用,适用于个人和团队的日程管理与任务提醒。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-25 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动化提醒系统 (Auto Remind System) ## 📋 系统概述 自动化提醒系统是一个基于 Azure DevOps 的智能工作项管理和统计系统,旨在帮助团队更好地跟踪需求、缺陷和版本发布进度。系统通过自动化查询、统计分析、智能提醒等功能,提升团队协作效率和工作项管理质量。 ### 🎯 核心价值 - **自动化管理**:自动同步 Azure DevOps 工作项数据,减少手动操作 - **智能统计**:支持多维度统计分析,生成可视化报告 - **实时提醒**:基于工作项状态变化和停留时间,自动发送提醒 - **团队协作**:集成企业微信,支持团队协作和通知 - **数据洞察**:提供工作项趋势分析和性能指标 ## 🏗️ 系统架构 ### 技术栈 #### 后端技术 - **框架**:Django 5.2.4 + Django REST Framework 3.16.0 - **数据库**:MySQL (PyMySQL 1.1.1) - **认证**:JWT (djangorestframework_simplejwt 5.5.1) - **任务调度**:APScheduler 3.11.0 - **数据处理**:Pandas 2.3.1, NumPy 2.3.2 - **Excel处理**:openpyxl 3.1.5 #### 前端技术 - **框架**:Vue 3 + Element Plus - **构建工具**:Vite - **状态管理**:Vue 3 Composition API - **路由**:Vue Router - **HTTP客户端**:Axios #### 第三方集成 - **Azure DevOps**:azure-devops 7.1.0b4 - **企业微信**:Webhook 集成 - **日历**:chinese_calendar 1.10.0 ### 系统架构图 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 前端 (Vue3) │ │ 后端 (Django) │ │ Azure DevOps │ │ │ │ │ │ │ │ - 用户界面 │◄──►│ - API接口 │◄──►│ - 工作项数据 │ │ - 数据展示 │ │ - 业务逻辑 │ │ - 查询配置 │ │ - 用户交互 │ │ - 数据处理 │ │ - 状态变更 │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 企业微信 │ │ 数据库 (MySQL) │ │ 定时任务 │ │ │ │ │ │ │ │ - 消息推送 │ │ - 用户数据 │ │ - 状态追踪 │ │ - 团队协作 │ │ - 配置数据 │ │ - 统计分析 │ │ - 通知提醒 │ │ - 历史记录 │ │ - 自动提醒 │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ## 🚀 核心功能模块 ### 1. 用户管理模块 - **用户注册/登录**:支持 JWT 认证 - **权限管理**:基于角色的访问控制 - **用户配置**:个人设置和偏好配置 ### 2. 配置管理模块 #### 2.1 Azure DevOps 配置 - **连接配置**:组织URL、访问令牌、项目名称 - **多项目支持**:支持配置多个 Azure DevOps 项目 - **权限验证**:自动验证访问令牌有效性 #### 2.2 查询配置管理 - **查询配置**:管理 Azure DevOps 查询ID和描述 - **文件夹组织**:支持文件夹层级管理查询配置 - **启用/禁用**:灵活控制查询配置状态 #### 2.3 企业微信配置 - **Webhook 配置**:企业微信群机器人 Webhook URL - **群组管理**:支持多个群组配置 - **消息模板**:自定义消息推送模板 ### 3. 工作项管理模块 #### 3.1 工作项快照 - **实时同步**:自动同步 Azure DevOps 工作项数据 - **状态跟踪**:记录工作项状态变化历史 - **数据展示**:表格形式展示工作项信息 #### 3.2 变更日志 - **变更记录**:记录工作项状态、指派人等变更 - **时间线**:可视化展示变更历史 - **筛选查询**:支持多维度筛选变更记录 #### 3.3 停留时间监控 - **停留时间**:监控工作项在某个状态的停留时间 - **超时提醒**:自动检测超时工作项并发送提醒 - **统计分析**:停留时间趋势分析 ### 4. 统计分析模块 #### 4.1 查询结果生成 - **多查询支持**:支持同时执行多个查询 - **分类统计**:按需求、缺陷、版本分类统计 - **预设管理**:保存常用查询组合为预设 - **仪表板集成**:支持添加仪表板URL #### 4.2 自定义统计 - **统计类型**:按负责人、产品、状态、严重程度等统计 - **统计配置**:灵活配置统计规则和周期 - **历史记录**:保存统计历史记录 #### 4.3 数据导出 - **Excel导出**:支持导出统计结果为Excel文件 - **格式定制**:自定义导出格式和内容 - **批量处理**:支持批量导出多个统计结果 ### 5. 人员管理模块 #### 5.1 人员数据管理 - **人员信息**:管理团队成员基本信息 - **部门小组**:支持按部门、小组组织人员 - **数据同步**:从 Azure DevOps 同步人员数据 #### 5.2 人员筛选 - **多维度筛选**:支持按姓名、部门、小组筛选 - **实时搜索**:支持实时搜索人员信息 - **数据导出**:支持导出筛选结果 ### 6. 定时任务模块 #### 6.1 状态追踪 - **自动追踪**:定时追踪工作项状态变化 - **配置灵活**:支持配置追踪间隔和时间范围 - **日志记录**:记录追踪执行日志 #### 6.2 统计分析 - **定时统计**:定时执行统计分析任务 - **结果推送**:自动推送统计结果到企业微信 - **历史记录**:保存统计执行历史 #### 6.3 停留时间检查 - **超时检测**:定时检查工作项停留时间 - **自动提醒**:超时工作项自动发送提醒 - **配置管理**:灵活配置检查时间和阈值 ### 7. 系统管理模块 #### 7.1 文件夹管理 - **层级结构**:支持文件夹层级管理 - **权限控制**:支持文件夹权限控制 - **公共文件夹**:支持公共文件夹共享 #### 7.2 日志管理 - **系统日志**:记录系统运行日志 - **操作日志**:记录用户操作日志 - **错误日志**:记录系统错误和异常 #### 7.3 配置管理 - **系统配置**:管理系统级配置参数 - **工作时间**:配置工作时间范围 - **节假日**:管理节假日配置 ## 📊 数据模型 ### 核心实体 1. **用户 (User)**:系统用户信息 2. **Azure配置 (AzureConfig)**:Azure DevOps 连接配置 3. **查询配置 (QueryConfig)**:Azure DevOps 查询配置 4. **工作项快照 (WorkItemSnapshot)**:工作项状态快照 5. **变更日志 (WorkItemChangeLog)**:工作项变更记录 6. **人员数据 (PersonnelData)**:团队成员信息 7. **企业微信配置 (WeComConfig)**:企业微信集成配置 8. **查询预设 (QueryPreset)**:查询组合预设 9. **统计历史 (StatHistory)**:统计分析历史记录 10. **定时任务配置 (SchedulerConfig)**:定时任务配置 ### 数据关系 ``` User (用户) ├── AzureConfig (Azure配置) - 1:N ├── QueryConfig (查询配置) - 1:N ├── PersonnelData (人员数据) - 1:N ├── WeComConfig (企业微信配置) - 1:N └── QueryPreset (查询预设) - 1:N Folder (文件夹) ├── QueryConfig (查询配置) - 1:N └── Folder (子文件夹) - 1:N WorkItemSnapshot (工作项快照) └── WorkItemChangeLog (变更日志) - 1:N ``` ## 🛠️ 安装部署 ### 环境要求 - **Python**:3.8+ - **Node.js**:16+ - **MySQL**:8.0+ - **Redis**:6.0+ (可选,用于缓存) ### 后端部署 1. **克隆项目** ```bash git clone cd autoRemindSystem ``` 2. **创建虚拟环境** ```bash python -m venv .venv source .venv/bin/activate # Linux/Mac # 或 .venv\Scripts\activate # Windows ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **配置数据库** ```bash # 创建数据库 mysql -u root -p CREATE DATABASE auto_remind_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 配置数据库连接 # 编辑 autoRemindSystem/settings.py 中的数据库配置 ``` 5. **数据库迁移** ```bash python manage.py makemigrations python manage.py migrate ``` 6. **创建超级用户** ```bash python manage.py createsuperuser ``` 7. **启动开发服务器** ```bash python manage.py runserver ``` ### 前端部署 1. **进入前端目录** ```bash cd frontend ``` 2. **安装依赖** ```bash npm install ``` 3. **配置环境变量** ```bash # 编辑 .env 文件 VUE_APP_API_BASE_URL=http://localhost:8000/api ``` 4. **启动开发服务器** ```bash npm run serve ``` 5. **构建生产版本** ```bash npm run build ``` ### Docker 部署 1. **构建镜像** ```bash docker-compose build ``` 2. **启动服务** ```bash docker-compose up -d ``` ## 📖 使用指南 ### 快速开始 1. **系统登录** - 访问系统首页 - 使用管理员账号登录 2. **基础配置** - 配置 Azure DevOps 连接 - 添加查询配置 - 配置企业微信 Webhook 3. **功能使用** - 执行工作项查询 - 查看统计分析结果 - 配置定时任务 ### 详细使用说明 请参考 [SYSTEM_USER_GUIDE.md](./SYSTEM_USER_GUIDE.md) 获取详细的使用说明。 ## 🔧 开发指南 ### 项目结构 ``` autoRemindSystem/ ├── autoRemindSystem/ # Django 项目配置 │ ├── settings.py # 项目设置 │ ├── urls.py # 主路由配置 │ └── wsgi.py # WSGI 配置 ├── core/ # 核心应用 │ ├── models.py # 数据模型 │ ├── views/ # 视图层 │ ├── serializers.py # 序列化器 │ ├── urls.py # 路由配置 │ └── tasks.py # 定时任务 ├── frontend/ # 前端应用 │ ├── src/ # 源代码 │ │ ├── views/ # 页面组件 │ │ ├── components/ # 通用组件 │ │ ├── api/ # API 接口 │ │ └── router/ # 路由配置 │ └── public/ # 静态资源 ├── accounts/ # 用户管理应用 ├── requirements.txt # Python 依赖 └── README.md # 项目说明 ``` ### 开发规范 1. **代码规范** - 遵循 PEP 8 Python 代码规范 - 使用 ESLint 进行前端代码检查 - 编写单元测试和集成测试 2. **提交规范** - 使用语义化提交信息 - 提交前进行代码审查 - 保持提交历史清晰 3. **文档规范** - 及时更新 API 文档 - 编写代码注释 - 维护用户使用文档 ## 🐛 故障排除 ### 常见问题 1. **数据库连接失败** - 检查数据库服务是否启动 - 验证数据库连接配置 - 确认数据库用户权限 2. **Azure DevOps 连接失败** - 检查组织URL是否正确 - 验证访问令牌是否有效 - 确认项目名称是否存在 3. **企业微信消息发送失败** - 检查 Webhook URL 是否正确 - 验证机器人配置是否有效 - 确认群组权限设置 4. **定时任务不执行** - 检查定时任务配置 - 验证系统时间设置 - 查看任务执行日志 ### 日志查看 - **系统日志**:`logs/system.log` - **错误日志**:`logs/error.log` - **访问日志**:`logs/access.log` ## 🤝 贡献指南 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 许可证 - 查看 [LICENSE](./LICENSE) 文件了解详情。 ## 📞 联系方式 - **项目维护者**:[] - **邮箱**:[] - **项目地址**:[] ## 🙏 致谢 感谢所有为项目做出贡献的开发者和用户。 --- **注意**:本文档会随着项目发展持续更新,请关注最新版本。