Files
QQuiz/docs/PLAN.md

2.4 KiB
Raw Blame History

QQuiz Execution Plan

更新时间2026-04-17

目标

把当前项目推进到可以持续开发和稳定验收的状态,重点落实:

  1. 默认 SQLite兼容 MySQL
  2. 前端界面简洁、可直接操作、少说明文字
  3. 用户管理达到可上市产品的基础要求
  4. push 后 GitHub 自动构建镜像
  5. 逐步完成旧 Vite 前端到新 Next 前端的替换

已完成的代码级工作

  • 默认 Docker 拓扑已切到 SQLite
  • MySQL 兼容拓扑已拆到 docker-compose.mysql.yml
  • 新前端容器已接入并替换 Docker 默认前端
  • 管理员用户管理已经接入真实接口
  • 管理员设置页已经接入真实配置接口
  • 侧边栏选中态 bug 已修复
  • 新前端色彩已收敛为更简洁的产品风格

当前代码扫描后的主要问题

后端

  1. 数据库迁移体系仍然不完整
  2. LLMService 仍存在启动期副作用
  3. 文档解析任务仍依赖进程内后台任务
  4. 题库导入并发与去重约束还没彻底补完
  5. 管理模块还缺用户状态、审计、批量能力

前端

  1. Exam detail / Question / Mistake / Quiz 仍是占位或半占位页面
  2. 部分页面仍有旧迁移骨架内容,需要继续清理
  3. 确认类交互还没统一替换为更正式的对话框方案
  4. 视觉层还需要统一列表、表单、状态、分页组件

部署与文档

  1. Compose 仍缺 dev/prod 分离
  2. 文档体系仍需把运行方式统一到 SQLite 默认 + MySQL 兼容
  3. CI 只有主干镜像构建,还缺 PR 验证与 smoke test

后续执行顺序

第一阶段:后端稳定性

  1. Alembic 基线迁移
  2. 去掉 create_all 正式职责
  3. 去掉 LLM import side effect
  4. 统一事务边界
  5. 补用户状态字段与审计日志模型

第二阶段:前端业务页

  1. 接通 exams/[examId]
  2. 接通 questions
  3. 接通 mistakes
  4. 接通 quiz/[examId]
  5. 接通 mistake-quiz

第三阶段:用户管理产品化

  1. 用户状态管理
  2. 审计日志
  3. 批量操作
  4. 更完整的密码与安全策略

第四阶段:工程化

  1. Compose dev/prod 分离
  2. PR workflow
  3. SQLite/MySQL 双栈 smoke
  4. 文档统一

前端视觉要求

  1. 主色:深蓝,作为动作与选中态
  2. 背景:浅灰蓝,不用大面积高饱和装饰
  3. 卡片:白底、细边框、轻阴影
  4. 状态色:成功绿、警告橙、错误红
  5. 页面信息结构:标题、数据、动作优先,减少解释文字