Files
AI-Testing/readme.md
2026-03-24 10:35:58 +08:00

212 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 公考助手(前后端分离 + Docker 一键运行)
本项目基于 `readme.md` 中的 PRD 实现了可运行的全栈版本:
- 前端React + Vite + Nginx
- 后端FastAPI + SQLAlchemy
- 数据库PostgreSQL
## 目录结构
```text
.
├── backend
│ ├── app
│ ├── Dockerfile
│ └── requirements.txt
├── frontend
│ ├── src
│ ├── Dockerfile
│ └── nginx.conf
└── docker-compose.yml
```
## 一键启动
确保本机已安装 Docker Desktop然后在项目根目录执行
```bash
docker compose up --build
```
或使用快速启动脚本:
```bash
./start.sh
```
启动后访问:
- 前端http://localhost:5173
- 后端健康检查http://localhost:8001/health
## 已实现功能PRD 对齐版)
- 资源汇总:链接/文件导入、搜索、筛选、排序、编辑、删除、批量分类/删除、资源打开
- 错题整理:图片上传、分类与关键词检索、按频次排序、编辑、删除、导出 PDF/Word、训练检索
- 过程管理:模考分数新增/编辑/删除、近 7/30 天筛选、自定义时间筛选、折线图与统计
- AI 模块(千问):错题智能解析、学习计划自动生成
- 数据持久化PostgreSQL 卷持久化(`postgres_data`
## AI 配置(千问)
1. 复制配置模板:
```bash
cp .env.example .env
```
2. 编辑 `.env`,填入你的 `QWEN_API_KEY`
3. 重新启动服务:
```bash
./start.sh
```
> 千问接口采用 OpenAI 兼容模式,默认 `QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1`,模型 `qwen-plus`。
## 常用命令
```bash
# 后台运行
docker compose up -d --build
# 停止并删除容器
docker compose down
# 停止并删除容器 + 数据卷
docker compose down -v
```
## 后续可扩展
- 鉴权登录(手机号注册登录)
- 文件上传MinIO / OSS与预览
- 错题导出 PDF/Word
- 分数筛选(近 7 天 / 近 30 天 / 自定义)
公考助手PRD
一、文档基础信息
产品名称:公考助手(网页版)
文档版本V1.0.0
适用终端PC 网页端Chrome/Edge/Firefox 主流浏览器)
核心定位:一站式公考学习资源管理、错题归集、学习进度可视化工具
目标用户:公职类考试备考人群
二、版本修订记录
版本号
日期
修改内容
修改人
V1.0.0
2026-03-22
完整覆盖资源汇总、错题整理、过程管理三大模块
吴美晨
三、产品目标
统一管理备考多形态资源,解决资源分散、查找低效问题
标准化错题归集与复盘,支持导出训练,提升错题利用率
模考分数可视化追踪,直观呈现学习效果,辅助备考决策
四、全局规则
分类体系:固定五大分类 ——常识、数量关系、言语理解、判断推理、资料分析,支持用户自定义子标签
账号体系:网页端支持手机号注册 / 登录,数据云端同步,单用户独立存储空间
文件约束单文件≤50MB支持断点续传上传失败自动重试
交互规范:所有操作实时反馈(成功 / 失败 / 加载中),删除操作二次确认
五、核心功能模块(详细需求)
模块 1资源汇总
1.1 功能概述
支持多类型资源导入、分类标记、整合检索,实现备考资源统一管理。
1.2 资源导入类型 P0
1.2.1 链接类资源
支持导入:网站链接、云盘链接、公众号链接、小程序链接
录入方式:输入框粘贴链接 + 自定义标题 + 选择分类 + 添加标签,提交后生成资源卡片
展示字段:资源标题、链接地址、分类、标签、创建时间、操作栏(编辑 / 删除 / 打开)
1.2.2 文件类资源
支持格式PDF、Worddoc/docx、图片JPG/PNG/Webp
上传方式:点击上传 / 拖拽上传,支持批量上传
处理规则:
图片:生成缩略图,支持在线预览
文档支持在线预览PDF、下载Word 转网页预览
云端存储,不占用本地空间
1.3 分类与标记 P0
必选:五大核心分类(常识 / 数量 / 言语 / 判断 / 资料分析)
可选:自定义标签(如 “高频考点”“基础知识点”“刷题资料”)
筛选能力:按分类、标签、资源类型、创建时间筛选
排序能力:按创建时间、文件大小、名称排序
1.4 资源管理操作 P1
编辑:修改标题、分类、标签
删除:二次确认,删除后云端同步清除
检索:全局搜索资源标题 / 标签 / 链接关键词
批量操作:批量分类、批量删除、批量打标签
1.5 前端页面结构 P1
顶部:搜索框、批量操作按钮
左侧:分类导航栏、标签筛选栏
主体:资源卡片列表 / 列表视图切换
弹窗:资源导入弹窗、编辑弹窗
模块 2错题整理
2.1 功能概述
支持拍照 / 上传错题、添加知识点备注、分类归集、导出打印,服务错题反复训练。
2.2 错题录入
拍照上传:网页端调用摄像头拍照,支持多题连拍 P1可以不做
图片上传:本地相册 / 截图上传,支持裁剪、旋转
基础信息:错题图片 + 分类(必选,枚举值:常识、言语、数量、判断、资料、科学、其他)+ 知识点备注(可选)+ 难度标签(可选,枚举值:易、中、难)
备注规则:支持文本输入,最多 500 字,记录考点、错误原因、解题思路
2.3 错题分类与管理
分类:同五大核心分类,支持按分类查看错题集
排序:按录入时间、错误频次、知识点筛选
编辑:修改备注、更换分类、替换图片
删除:单题删除 / 批量删除,二次确认
2.4 错题导出
导出格式PDF带图片 + 备注、Word可编辑
导出范围:按分类导出、按时间导出、全量导出
导出样式:标题 + 错题图片 + 知识点备注 + 留白答题区
功能约束:单次最多导出 200 题,导出后浏览器自动下载
2.5 错题训练模式
预览模式:按分类浏览错题,隐藏答案 / 备注
检索模式:按知识点关键词检索错题
模块 3过程管理
3.1 功能概述
记录模考分数,自动生成折线图,可视化展示分数变化趋势。
3.2 模考分数录入
录入字段:考试名称(如 “2026 省考模考 1”、考试时间、总分0-200 分)、各模块分数(可选)
校验规则总分≤200非空校验时间不可选未来日期
编辑 / 删除:支持修改分数、删除记录,数据实时更新图表
3.3 数据可视化
图表类型折线图X 轴时间Y 轴:分数)
展示信息:分数节点标注、趋势线、最高分 / 最低分 / 平均分标注
交互:鼠标悬浮显示单次考试详情(名称、分数、时间)
筛选:按时间范围(近 7 天 / 近 30 天 / 自定义区间)筛选数据
3.4 数据统计
统计项:最高分数、最低分数、平均分数、提升分数(末次 - 首次)
展示位置:图表下方,数据实时计算
六、非功能性需求 P2
6.1 性能需求
页面加载首屏≤3s功能切换≤1s
上传速度10MB 文件≤10s带宽正常
并发:单用户操作无延迟,支持 1000 + 用户同时在线
6.2 兼容性需求
浏览器Chrome≥90、Edge≥90、Firefox≥88、Safari≥14
分辨率1920×1080、1366×768、2560×1440 自适应
6.3 存储与安全
存储:单用户资源 + 错题≤5GB云端自动备份
安全:用户数据加密,上传内容合规检测,防止恶意文件
6.4 体验需求
无复杂操作3 步内完成核心功能(上传 / 分类 / 导出)
错误提示清晰,引导用户修正操作
支持键盘快捷键(搜索 Ctrl+F、批量 Ctrl+A
七、业务流程
7.1 资源上传流程
点击导入→选择类型(链接 / 文件)→填写信息→选择分类→提交→存储成功→列表展示
7.2 错题上传流程
点击添加错题→拍照 / 上传图片→裁剪编辑→填写备注→选择分类→保存→错题集展示
7.3 模考分数录入流程
点击添加记录→填写信息→提交→图表自动更新→统计数据刷新
八、验收标准
资源导入:支持所有指定类型,分类筛选准确,预览 / 下载正常
错题功能:拍照上传稳定,备注可编辑,导出 PDF/Word 无乱码、格式规范
过程管理:分数录入无误,折线图实时渲染,数据统计准确
兼容性:主流浏览器无样式错乱、功能异常
性能:大文件上传、批量操作无卡顿,响应时间符合要求
九、后续迭代规划V2.0
新增 AI 错题解析、自动归类
新增学习计划制定、打卡提醒
支持资源分享、错题协作
移动端 H5 适配
数据导出 Excel、多维度统计报表