Initial commit: SQL audit platform v0.1.0

FastAPI backend with auth, user, instance, ticket, query, dashboard APIs.
React + TypeScript frontend with mock data UI (10 pages).
SQLite + async SQLAlchemy, JWT auth, role-based access control.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
loganandClaude Opus 4.7 committed 2026-05-22 11:11:57 +08:00
commit 439155c92e
290 files changed
+61950

No files matched your search

@@ -0,0 +1,237 @@
# 数据审核平台
一个基于 FastAPI + Vue3 的数据库变更管理和 SQL 审核平台,支持 MySQL、Redis 等数据库的 SQL 审核、审批流程管理。
## 功能特性
### 核心功能
- **数据源管理**:支持 MySQL、Redis、PostgreSQL、MongoDB 等多种数据库
- **SQL 审核**:自动 SQL 语法检查、风险评估、规则校验
- **工单管理**:DDL/DML 工单提交、审核、执行、回滚全流程
- **审批流程**:多级审批、角色权限控制
- **SQL 查询**:在线 SQL 编辑器,支持语法高亮和自动补全
- **数据字典**:表结构查看、字段信息、索引信息
- **Redis 管理**:Redis 信息监控、命令执行
### 安全特性
- 基于角色的访问控制 (RBAC)
- SQL 注入防护
- 敏感操作审计日志
- 数据脱敏
## 技术栈
### 后端
- **框架**: FastAPI (Python 3.11+)
- **数据库**: SQLAlchemy + MySQL
- **缓存**: Redis
- **认证**: JWT + OAuth2
### 前端
- **框架**: Vue 3 + TypeScript
- **UI 组件**: Element Plus
- **状态管理**: Pinia
- **路由**: Vue Router
- **代码编辑器**: CodeMirror 6
- **图表**: ECharts
## 快速开始
### 环境要求
- Python 3.11+
- Node.js 18+
- MySQL 5.7+
- Redis 6.0+
### 后端启动
```bash
cd backend
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 启动服务
python main.py
```
后端服务将在 http://localhost:8000 启动,API 文档地址: http://localhost:8000/docs
### 前端启动
```bash
cd frontend
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
前端服务将在 http://localhost:3000 启动
### 默认账号
| 账号 | 密码 | 角色 |
|------|------|------|
| admin | 123456 | 管理员 |
| dba | 123456 | DBA |
| dev1 | 123456 | 开发者 |
| dev2 | 123456 | 开发者 |
| auditor | 123456 | 审计员 |
## 项目结构
```
data-audit-platform/
├── backend/ # 后端代码
│ ├── main.py # 主入口
│ └── requirements.txt # 依赖
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── api/ # API 接口
│ │ ├── components/ # 组件
│ │ ├── layouts/ # 布局
│ │ ├── router/ # 路由
│ │ ├── stores/ # 状态管理
│ │ ├── styles/ # 样式
│ │ ├── types/ # 类型定义
│ │ ├── views/ # 页面
│ │ ├── App.vue # 根组件
│ │ └── main.ts # 入口
│ ├── index.html
│ ├── package.json
│ ├── tsconfig.json
│ └── vite.config.ts
└── README.md
```
## 功能模块
### 1. 仪表盘
- 数据统计卡片
- 风险分布图表
- 数据库类型分布
- 最近工单列表
### 2. 数据源管理
- 添加/编辑/删除数据源
- 支持多种数据库类型
- 连接测试
- 环境隔离(开发/测试/预发布/生产)
### 3. SQL 工单
- 创建工单(DDL/DML)
- SQL 自动审核
- 多级审批流程
- 工单执行和回滚
### 4. SQL 查询
- 在线 SQL 编辑器
- 语法高亮
- 只读查询限制
- 查询结果展示
### 5. 数据字典
- 表结构查看
- 字段信息
- 索引信息
- DDL 生成
### 6. Redis 管理
- Redis 信息监控
- 内存使用统计
- 命中率监控
- 命令执行
### 7. 审核规则
- 内置审核规则
- 规则启用/禁用
- 风险等级设置
### 8. 用户管理
- 用户列表
- 角色分配
- 权限控制
### 9. 系统设置
- 基本设置
- 通知设置
- 安全设置
## API 接口
### 认证
- `POST /api/auth/login` - 登录
- `GET /api/auth/me` - 获取当前用户
- `POST /api/auth/logout` - 登出
### 用户
- `GET /api/users` - 用户列表
- `GET /api/users/{id}` - 用户详情
### 数据源
- `GET /api/instances` - 数据源列表
- `POST /api/instances` - 创建数据源
- `GET /api/instances/{id}` - 数据源详情
- `PUT /api/instances/{id}` - 更新数据源
- `DELETE /api/instances/{id}` - 删除数据源
- `POST /api/instances/{id}/test` - 测试连接
### SQL 工单
- `GET /api/workflows` - 工单列表
- `POST /api/workflows` - 创建工单
- `GET /api/workflows/{id}` - 工单详情
- `POST /api/workflows/{id}/review` - 审核工单
- `POST /api/workflows/{id}/execute` - 执行工单
- `POST /api/workflows/{id}/rollback` - 回滚工单
- `GET /api/workflows/statistics` - 工单统计
### SQL 查询
- `POST /api/query` - 执行查询
### 数据字典
- `GET /api/dictionary/instances/{id}/databases` - 数据库列表
- `GET /api/dictionary/instances/{id}/tables` - 表列表
- `GET /api/dictionary/instances/{id}/tables/{name}` - 表详情
### Redis
- `GET /api/redis/{id}/info` - Redis 信息
- `POST /api/redis/{id}/command` - 执行命令
### Dashboard
- `GET /api/dashboard/stats` - 统计数据
## 部署
### Docker 部署
```bash
# 构建镜像
docker build -t data-audit-platform .
# 运行容器
docker run -d -p 8000:8000 -p 3000:3000 data-audit-platform
```
### 生产环境部署
1. 配置环境变量
2. 使用 Gunicorn 启动后端
3. 使用 Nginx 反向代理前端
4. 配置 SSL 证书
## 参考项目
- [Bytebase](https://github.com/bytebase/bytebase) - Database DevOps and CI/CD for Developer, DBA and Platform Engineering teams
- [Yearning](https://github.com/cookieY/Yearning) - 开源 MySQL SQL 审核平台
- [Archery](https://github.com/hhyo/Archery) - SQL 审核查询平台
## 许可证
MIT License