# data-governance-group6 **Repository Path**: ZerCoder/data-governance-group6 ## Basic Information - **Project Name**: data-governance-group6 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-03 - **Last Updated**: 2026-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 监控点位数据治理工作台 "数据要素化治理培训"课堂实操作业(第 6 组)。以某市政务视频监控平台(28 万路设备、610 条告警/日)的真实脱敏数据为素材,构建一个体现数据治理概念的教学版工作台:**2 小时内通过 AI Coding(如 Trae)补全三个核心业务界面**。 ## 核心界面 | 界面 | 文件 | 内容 | | --- | --- | --- | | 设备点位管理 | `static/index.html` | 1 万路分层抽样设备,SQL 级分页(10/20/50 + 跳页)、区/街道二级联动等四项筛选、完整增删改查;详情弹窗展示身份证脱敏与"核心数据"治理标注 | | 告警数据治理 | `static/alerts.html` | 610 条真实告警,四态流转(待处置→处置中→已闭环 / 误报),处置记录时间线、抓拍图展示、视频占位 | | 数据资产分级看板 | `static/dashboard.html` | 统计卡片、数据集分类分级(核心 / 重要 / 普通,依据《数据安全法》)、治理说明编辑、部门×数据集权限矩阵 | 另含假登录页 `static/login.html`(弹窗不计入核心界面数)。 ## 技术栈 - **后端**:Python 3.10+ / FastAPI,裸 `sqlite3`(无 ORM),单文件 [main.py](main.py) - **数据库**:SQLite(`data/app.db`,克隆即含数据,无需原始 CSV) - **前端**:原生 HTML/CSS/JS,无构建步骤;公共工具 [static/common.js](static/common.js)(登录守卫、fetchJSON、区划联动) ``` init_db.py → data/app.db ← main.py (FastAPI :10086) → static/*.html 讲师预置/不修改 SQLite REST API + 静态托管 学员补全(无构建) ``` ## 快速开始 ```bash pip install -r requirements.txt python main.py ``` 打开 http://127.0.0.1:10086/ ,演示账号:`admin / 123456` 或 `student / 123456`。 ## 学员任务 代码中以 `TODO(编号)` 注释标注了待补全点,后端对应端点当前返回 501: | Ticket | 任务 | 对应 TODO | | --- | --- | --- | | [03](.scratch/data-governance-training/issues/03-device-list-pagination-filter.md) | 设备列表:分页 + 四项筛选 | [main.py](main.py) `list_devices` + `index.html` | | [04](.scratch/data-governance-training/issues/04-device-crud-modals.md) | 设备 CRUD 弹窗(含脱敏标注) | [main.py](main.py) 设备四端点 + `index.html` | | [05](.scratch/data-governance-training/issues/05-alert-list-detail.md) | 告警列表 + 详情(时间线/抓拍图) | [main.py](main.py) 告警两端点 + `alerts.html` | | [06](.scratch/data-governance-training/issues/06-alert-state-machine-delete.md) | 四态流转(400 校验)+ 误报删除 | [main.py](main.py) 处置/删除端点 + `alerts.html` | | [07](.scratch/data-governance-training/issues/07-dashboard-datasets.md) | 看板:统计卡 + 分级编辑 + 权限矩阵 | [main.py](main.py) 看板三端点 + `dashboard.html` | | [08](.scratch/data-governance-training/issues/08-integration-acceptance.md) | 串联验收(checklist 十二项) | — | 验收标准见各 ticket 文件的 checklist,完整规格见 [spec.md](.scratch/data-governance-training/spec.md)。 ## 数据说明 - `data/app.db` 由讲师预置的 [init_db.py](init_db.py) 生成:设备表按行政区**分层抽样恰好 1 万行**,`update_by` 疑似身份证号已脱敏(如 `3204**********6203`),告警表 610 行全量、时间统一 ISO 8601 - 原始设备 CSV 为 104.5MB,超出 Gitee 单文件 100MB 上限,未入库(详见 [.gitignore](.gitignore));讲师本地执行 `python init_db.py` 可重建数据库 - 告警 500+ 条/天的推送量、"告警标签准确率约 30%"等背景,见 [docs/原始需求](docs/原始需求/) ## 文档索引 - 需求规格 PRD:[.scratch/data-governance-training/spec.md](.scratch/data-governance-training/spec.md) - 术语表:[CONTEXT.md](CONTEXT.md)(数据集/分类分级/脱敏/告警处置等) - 架构决策记录:[docs/adr/](docs/adr/)(教学版技术栈裁剪、数据抽样与脱敏) - 需求追问记录:[todo/](todo/)