Web-Lite 数据审核平台 - 项目评估
评估日期: 2025-05-22
评估版本: v0.1.0-dev
一、项目概况
| 项目 |
说明 |
| 项目名 |
Web-Lite 数据审核平台 (sql-platform) |
| 定位 |
SQL 审核与工单管理平台(对标 Yearning/Archery) |
| 路径 |
~/devops/sql-platform |
| 前端 |
React 19 + TS + Vite 7 + Tailwind + shadcn/ui |
| 后端 |
FastAPI + SQLAlchemy 2 async + SQLite |
| 状态 |
开发初期 — 后端骨架完成,前端 UI 大量完成但依赖 mock |
二、功能完成度
后端 API (完成度: 60%)
| 模块 |
端点数 |
状态 |
说明 |
| 认证 auth |
3 |
✅ 完成 |
login/me/logout,JWT+bcrypt |
| 用户 users |
5 |
✅ 完成 |
CRUD,admin 权限控制 |
| 数据源 instances |
7 |
✅ 完成 |
CRUD+测试连接+列库+列表 |
| 工单 tickets |
6 |
✅ 完成 |
列表+创建+详情+审核+执行+统计 |
| 查询 query |
1 |
✅ 完成 |
仅 MySQL,SQL 注入防护(关键词级) |
| 仪表盘 dashboard |
1 |
✅ 完成 |
统计聚合 |
| 审核规则 |
0 |
❌ 缺失 |
无后端 API |
| 工作流 |
0 |
❌ 缺失 |
无后端 API |
| 数据权限 |
0 |
❌ 缺失 |
无后端 API |
| 公告管理 |
0 |
❌ 缺失 |
无后端 API |
| 自动任务 |
0 |
❌ 缺失 |
无后端 API |
前端页面 (完成度: 45%)
| 页面 |
路由 |
状态 |
数据来源 |
| 登录 |
/login |
✅ 完成 |
mock |
| 仪表盘 |
/dashboard |
✅ 完成 |
mock |
| 工单管理 |
/tickets |
✅ 完成 |
mock |
| 查询审计 |
/queries |
✅ 完成 |
mock |
| 数据源管理 |
/mysql, /postgres, /redis, /mongo |
✅ 完成 |
mock |
| 用户管理 |
/users |
✅ 完成 |
mock |
| 角色管理 |
/roles |
🔶 UI 骨架 |
mock |
| 数据权限 |
/data-permission |
🔶 UI 骨架 |
mock |
| 审核规则 |
/audit-rules |
🔶 UI 骨架 |
mock |
| 工作流 |
/workflow |
🔶 UI 骨架 |
mock |
| 自动任务 |
/auto-task |
🔶 UI 骨架 |
mock |
| 公告管理 |
/announcement |
🔶 UI 骨架 |
mock |
| 平台配置 |
/config-platform |
🔶 UI 骨架 |
mock |
API 层 (完成度: 70%)
| 文件 |
状态 |
说明 |
| api/request.ts |
✅ 完成 |
axios 封装 + token 拦截 |
| api/auth.ts |
✅ 完成 |
login/logout/me |
| api/user.ts |
✅ 完成 |
CRUD |
| api/instance.ts |
✅ 完成 |
CRUD+测试+列库+列表 |
| api/ticket.ts |
✅ 完成 |
列表+创建+审核+执行+统计 |
| api/query.ts |
✅ 完成 |
查询执行 |
| api/dashboard.ts |
✅ 完成 |
统计 |
三、代码质量评估
✅ 优点
- 架构清晰 — 后端分层 (models → schemas → services → endpoints),前端分层 (api → hooks → pages)
- 现代技术栈 — FastAPI async、React 19、TypeScript 严格模式
- 安全基础到位 — JWT + bcrypt + 角色权限 + CORS + SQL 关键词过滤
- UI 统一美观 — shadcn/ui + dark/light 主题 + CSS 变量体系完善
- API 层完整 — 前端 API 模块和后端端点一一对应
⚠️ 问题
| # |
级别 |
问题 |
影响 |
建议 |
| 1 |
严重 |
前端全部使用 mock 数据,页面未调真实 API |
产品不可用 |
v0.2.0 第一优先 |
| 2 |
严重 |
Vite 无 proxy 配置,前端无法请求后端 |
开发阻塞 |
vite.config.ts 加 proxy |
| 3 |
严重 |
Instance.password 明文存储 |
安全漏洞 |
AES 加密存储 |
| 4 |
高 |
SQL 注入防护仅关键词匹配 |
绕过风险 |
SQL AST 解析 |
| 5 |
高 |
无测试代码(0 个测试) |
回归风险 |
pytest + vitest |
| 6 |
高 |
无 git commit(空仓库) |
版本风险 |
立即初始提交 |
| 7 |
中 |
只支持 MySQL 查询 |
功能限制 |
按需扩展 PG |
| 8 |
中 |
前端 mock.ts 文件过大 |
维护困难 |
按模块拆分 |
| 9 |
低 |
package.json name 为 "my-app" |
不专业 |
改为 sql-platform |
| 10 |
低 |
backend venv 提交到 git |
仓库膨胀 |
.gitignore 排除 |
四、风险评估
| 风险 |
概率 |
影响 |
缓解措施 |
| 前后端对接工作量被低估 |
高 |
高 |
逐页面替换 mock,优先核心页面 |
| SQL 审核引擎开发复杂 |
中 |
高 |
先做规则配置 CRUD,引擎迭代 |
| SQLite 并发瓶颈 |
低 |
中 |
v0.2.0 支持 MySQL |
| 前端状态管理缺失 |
中 |
低 |
目前页面内 useState 够用,后续按需引入 |
五、项目评分
| 维度 |
评分(1-10) |
说明 |
| 架构设计 |
8 |
前后端分层清晰,RESTful API 规范 |
| 代码质量 |
6 |
结构好但缺乏测试和类型严格性 |
| 功能完成度 |
4 |
核心骨架在,但前后端未打通 |
| 安全性 |
5 |
基础安全到位,密码明文存储是大问题 |
| 可维护性 |
7 |
目录结构规范,命名清晰 |
| UI/UX |
8 |
精致的双主题 UI,shadcn 组件运用好 |
| 生产就绪度 |
2 |
mock 数据、无测试、无部署配置 |
| 综合 |
5.7 |
基础不错,距可用还有一定距离 |
六、下一步行动 (Top 5)
- 🔴 初始化 git — 提交所有代码作为 v0.1.0 基线
- 🔴 Vite proxy — 配置开发环境 API 代理
- 🔴 Dashboard 对接 API — 替换 mock → 真实 API
- 🔴 Instance 密码加密 — AES 加密存储
- 🟡 编写第一个测试 — pytest 后端认证模块