Files
opsxsql/PROJECT_EVALUATION.md
T
loganandClaude Opus 4.7 439155c92e 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>
2026-05-22 11:11:57 +08:00

5.4 KiB
Raw Blame History

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 ✅ 完成 统计

三、代码质量评估

✅ 优点

  1. 架构清晰 — 后端分层 (models → schemas → services → endpoints),前端分层 (api → hooks → pages)
  2. 现代技术栈 — FastAPI async、React 19、TypeScript 严格模式
  3. 安全基础到位 — JWT + bcrypt + 角色权限 + CORS + SQL 关键词过滤
  4. UI 统一美观 — shadcn/ui + dark/light 主题 + CSS 变量体系完善
  5. 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)

  1. 🔴 初始化 git — 提交所有代码作为 v0.1.0 基线
  2. 🔴 Vite proxy — 配置开发环境 API 代理
  3. 🔴 Dashboard 对接 API — 替换 mock → 真实 API
  4. 🔴 Instance 密码加密 — AES 加密存储
  5. 🟡 编写第一个测试 — pytest 后端认证模块