# NotionReq **Repository Path**: stig-tools/notion-req ## Basic Information - **Project Name**: NotionReq - **Description**: 非常非常非常非常非常非常非常非常非常非常非常非常非常非常轻量化的一个小团队任务管理工具,可以实现任务分配,markdwn任务描述,任务状态修改,消息通知 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 任务需求管理系统 README 📋 项目简介 一个轻量级的任务需求管理系统,类似于简化版的Jira/Notion,支持任务的全生命周期管理、团队协作、通知提醒等功能。使用Python Flask + SQLite构建,简单易部署。 ## ✨ 功能清单 1. 用户管理 ✅ 用户注册、登录、退出 ✅ 角色权限体系(管理员/经理/开发人员) ✅ 个人资料查看与修改 ✅ 密码修改 2. 任务管理 ✅ 任务的增删改查 ✅ 任务分配(可分配给指定用户) ✅ 任务状态管理(待处理/进行中/已完成/已取消) ✅ 优先级设置(低/中/高/紧急) ✅ 任务类型(功能/Bug/任务/改进) ✅ 截止日期设置 ✅ 需求文件URL关联(可链接到原始需求文档) 3. 富文本编辑 ✅ Markdown格式的任务详情 ✅ 实时预览功能 ✅ 图片上传与插入(支持拖拽上传) ✅ 表格、代码块快速插入 ✅ Base64编码存储,无需额外存储服务 4. 团队协作 ✅ 任务评论功能 ✅ 评论支持Markdown格式 ✅ @用户提醒 - 在评论中输入@可自动检索并提醒其他用户 ✅ 评论实时预览 5. 通知系统 ✅ 通知中心(集中管理所有通知) ✅ 通知类型: 📢 @提到 - 有人在评论中@你 📋 任务分配 - 有人分配任务给你 💬 评论 - 你参与的任务有新评论 🔄 状态变更 - 任务状态变更 ✅ 未读通知数量角标提示 ✅ 通知列表分页查看 ✅ 按类型筛选通知(全部/未读/@我/分配/评论) ✅ 一键标记全部已读 ✅ 点击通知直接跳转到对应任务 6. 仪表盘 ✅ 任务统计卡片(总任务/我的任务/待处理/已完成) ✅ 最近任务列表 ✅ 我的任务快捷入口 7. 任务筛选与搜索 ✅ 按状态筛选 ✅ 按优先级筛选 ✅ 按分配人筛选(全部/分配给我/未分配) 8. API接口 ✅ RESTful API设计 ✅ 通知API(供前端实时刷新) ✅ 用户列表API(供@功能使用) ## 🚀 快速开始 环境要求 Python 3.7+ pip ##本地运行 ``` # 1. 克隆代码 git clone cd task-manager # 2. 安装依赖 pip install -r requirements.txt # 3. 启动应用 python app.py # 4. 访问系统 浏览器打开 http://127.0.0.1:5000 # 默认管理员账号 用户名: admin 密码: admin123 ``` ##Docker部署 ``` # Dockerfile FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"] ``` ## 构建和运行 ``` # 构建镜像 docker build -t task-manager . # 运行容器(不带数据持久化) docker run -d -p 5000:5000 --name my-tasks task-manager # 运行容器(带数据持久化) docker volume create task-data docker run -d \ -p 5000:5000 \ --name my-tasks \ -v task-data:/app/instance \ task-manager # 查看日志 docker logs -f my-tasks # 停止容器 docker stop my-tasks # 启动容器 docker start my-tasks ``` ## 📁 项目结构 ``` task-manager/ ├── app.py # 主应用 ├── models.py # 数据模型 ├── forms.py # 表单 ├── requirements.txt # 依赖列表 ├── Dockerfile # Docker配置 ├── docker-compose.yml # Docker Compose配置 ├── start.sh # 一键启动脚本 ├── templates/ # 模板文件 │ ├── base.html │ ├── index.html │ ├── login.html │ ├── register.html │ ├── dashboard.html │ ├── tasks.html │ ├── task_detail.html │ ├── create_task.html │ ├── edit_task.html │ ├── profile.html │ └── notifications.html └── static/ # 静态文件 ├── css/ │ └── style.css └── js/ └── main.js ``` ## 🔧 配置说明 环境变量 变量名 说明 默认值 SECRET_KEY 应用密钥 自动生成 FLASK_APP 应用入口 app.py FLASK_ENV 运行环境 development 数据库 默认使用SQLite数据库,文件位置:instance/task_manager.db 如需使用其他数据库,修改 app.py 中的 SQLALCHEMY_DATABASE_URI。 ## 📱 使用指南 1. 首次使用 访问首页,点击注册创建账号 或使用默认管理员账号登录:admin/admin123 2. 创建任务 点击导航栏"新建任务" 填写标题、描述、基本信息 使用Markdown编写详细内容(支持图片拖拽) 选择分配人、截止日期 点击创建 3. 评论与@提醒 进入任务详情页 在评论区输入 @ + 用户名(如 @张三) 系统会自动检索匹配的用户 被@的用户会收到通知 4. 查看通知 下拉菜单:鼠标悬停在顶部通知图标,查看最近5条通知 通知中心:点击"查看全部"进入完整的通知管理页面 可筛选未读、@我、分配等类型的通知 点击任何通知跳转到对应任务 ## 页面截图 ![5fe106a24d45bf2c796711a79fd29cba.png](images%2F5fe106a24d45bf2c796711a79fd29cba.png) ![8cf494e8a26e81b6ced767c8d4d84da8.png](images%2F8cf494e8a26e81b6ced767c8d4d84da8.png) ![5b86e16e07ed37f330747055b37815fa.png](images%2F5b86e16e07ed37f330747055b37815fa.png) ![9e81c46b0b543a58d9b0f339acd5cc68.png](images%2F9e81c46b0b543a58d9b0f339acd5cc68.png) ![798030ec30ed6a3f30850859dbf5dccc.png](images%2F798030ec30ed6a3f30850859dbf5dccc.png)