Files
opsxsql/ROADMAP.md
T
logan e45fbf3586 docs: update PROJECT_EVALUATION/TDD_PLAN/ROADMAP for Phase 3
- Score: 6.2 -> 7.6 (+1.4)
- Security: 5 -> 8 (+3.0, biggest jump)
- Tests: 44 -> 85 (41 new)
- Next: Phase 4 (SQL AST, rule CRUD, Alembic)
2026-05-22 13:11:12 +08:00

133 lines
5.1 KiB
Markdown

# Web-Lite 数据审核平台 - 开发路线图
> 项目路径: ~/devops/sql-platform
> 创建时间: 2025-05-22
> 当前版本: v0.3.0
---
## 技术栈
| 层 | 技术 |
|---|---|
| **前端** | React 19 + TypeScript 5.9 + Vite 7 + Tailwind CSS 3.4 + shadcn/ui + ECharts 6 |
| **后端** | FastAPI + SQLAlchemy 2 (async) + Pydantic 2 + python-jose + passlib |
| **数据库** | SQLite (开发) / 目标 MySQL/PostgreSQL (生产) |
| **部署** | Docker Compose |
---
## 版本规划
### v0.3.0 — 安全加固 + SQL 审核引擎 ✅
- [x] **AES-256-GCM 密码加密** — 实例密码加密存储,向后兼容明文
- [x] **SQL 审核规则引擎** — 10 条内置规则 + 评分系统
- UPDATE/DELETE 无 WHERE → ERROR
- DROP TABLE / TRUNCATE → WARNING / ERROR (生产)
- ALTER TABLE (生产) → ERROR
- SELECT * → INFO
- 多语句 → ERROR
- 大 IN 子句 → WARNING
- JOIN 无 ON → WARNING
- LIKE '%...' → INFO
- [x] **自动审核集成** — 工单提交时自动 SQL 审核 + 评分
- [x] **操作审计日志** — 全操作覆盖 (instance/user/ticket/query)
- [x] **审计日志 API** — GET /audit/logs (admin/dba)
- [x] **审计日志前端页** — /audit-logs 分页+过滤
- [x] **85 个测试通过** — 44 (Phase 1) + 41 (Phase 3)
### v0.2.0 — 前后端对接 ✅
- [x] Vite proxy 配置 (/api → localhost:9000)
- [x] Dashboard 对接真实 API
- [x] TicketsPage 全功能对接 (列表/创建/详情/审批/执行/统计)
- [x] InstancePage 对接 (CRUD+连接测试)
- [x] UsersPage 对接 (CRUD+新建弹窗)
- [x] QueriesPage 对接 (在线查询)
- [x] 前端 TypeScript 编译零错误
- [x] 44 个后端测试全通过
### v0.1.0 — 基础骨架 ✅
**后端 API 已实现:**
- [x] JWT 认证 (login/logout/me)
- [x] 用户 CRUD (admin only)
- [x] 数据源实例 CRUD + 连接测试 + 列库/列表
- [x] 工单全流程 (创建/审核/执行) + 统计
- [x] SQL 查询执行 + 审计日志
- [x] Dashboard 统计接口
- [x] 角色权限 (admin/dba/developer/guest)
**前端已实现:**
- [x] 登录页 + 路由守卫
- [x] Dashboard 仪表盘 (统计卡片 + ECharts 趋势图 + 实例状态 + 待处理工单)
- [x] 工单管理页 (列表/筛选/详情/新建/审批)
- [x] 查询审计页 (列表/筛选/详情/新建查询)
- [x] 数据源管理页 (MySQL/PG/Redis/Mongo 实例)
- [x] 用户管理 / 角色管理 / 数据权限 / 审核规则 / 工作流 / 自动任务 / 公告管理 / 平台配置 页面骨架
- [x] API 层 (request.ts + 5 个模块 API)
- [x] Mock 数据层 (lib/mock.ts)
- [x] 主题切换 (dark/light)
### v0.2.0 — 前后端打通 + 核心功能完善 ✅
**已完成:**
- [x] **44 个后端 API 测试全部通过** (pytest)
- auth: 8 (登录/登出/token验证/过期/禁用)
- users: 8 (CRUD/权限/删自己)
- instances: 8 (CRUD/连接测试mock/权限)
- tickets: 11 (列表过滤/CRUD/审批/拒绝/执行/统计/分页)
- query: 4 (SELECT/DROP拒绝/DELETE拒绝/guest禁止)
- dashboard: 2 (统计数据/未登录)
- [x] **前端对接真实 API** — 所有页面已替换 mock 数据
- Dashboard → `/api/v1/dashboard/stats`
- 工单 → `/api/v1/tickets` (列表/创建/详情/审批/执行/统计)
- 查询 → `/api/v1/query` (执行+结果展示+敏感字段脱敏)
- 实例 → `/api/v1/instances` (列表/创建/连接测试)
- 用户 → `/api/v1/users` (列表/创建/切换状态/删除)
- [x] **Vite proxy 配置** — `/api` → `http://localhost:9000`
- [x] **前端 TypeScript 编译通过** — build 无错误
**待完成:**
- [ ] **SQLite → MySQL** 生产数据库迁移支持
- [ ] **密码加密存储** — Instance.password 字段加密/解密
- [ ] **SQL 审核引擎** — 基于 AST 的 SQL 规则检查
- [ ] **工单自动审核** — 提交时自动跑审核规则
- [ ] **操作审计日志完善** — 所有关键操作记录 AuditLog
### v0.3.0 — 审核规则 + 工作流
- [ ] **审核规则管理** — 后端 CRUD API + 前端页面
- [ ] **工作流引擎** — 多级审批、条件审批
- [ ] **数据权限管理** — 库/表/列级权限控制
- [ ] **公告管理** — 后端 CRUD + WebSocket 实时推送
### v0.4.0 — 高级功能
- [ ] **SQL 编辑器** — Monaco Editor + 语法高亮 + 自动补全
- [ ] **慢查询分析** — 慢查询日志采集 + Explain 执行计划
- [ ] **数据脱敏** — 查询结果敏感字段自动脱敏
- [ ] **回滚执行** — 工单执行失败自动回滚
- [ ] **定时任务** — 自动任务管理 + 定时执行
### v0.5.0 — 生产就绪
- [ ] **多数据库支持** — PostgreSQL / Redis / MongoDB 实际连接
- [ ] **WebSocket 通知** — 实时工单状态推送
- [ ] **LDAP/SSO 集成**
- [ ] **数据库切换** — 支持 MySQL/PostgreSQL 作为后端存储
- [ ] **Docker 生产部署** — Nginx 反向代理 + 多阶段构建
- [ ] **单元测试 + E2E 测试** — 覆盖率 > 60%
---
## 里程碑时间线
| 版本 | 目标日期 | 关键交付 |
|------|---------|---------|
| v0.2.0 | 2025-06-05 | 前后端打通,核心功能可用 |
| v0.3.0 | 2025-06-20 | 审核规则+工作流完善 |
| v0.4.0 | 2025-07-10 | SQL 编辑器+高级功能 |
| v0.5.0 | 2025-07-30 | 生产就绪 |