f9b9b821dfa602d46f022a12b30f0d93b37e8f59
网页版题库管理系统
基于 FastAPI + React + SQLite 的题库系统,支持题目管理、AI 导入、Excel 导入导出、分类管理、练习模式与统计仪表盘。
目录
backend/: FastAPI 后端frontend/: React 前端analysis.py: 原始解析脚本(参考)
后端启动
- 安装依赖:
cd backendpython3 -m venv .venv && source .venv/bin/activatepip install -r requirements.txt
- 配置环境变量:
- 复制项目根目录
.env.example为.env - 填写
API_KEY、ADMIN_PASSWORD、JWT_SECRET_KEY等
- 复制项目根目录
- 运行:
- 在项目根目录执行
uvicorn backend.main:app --reload --port 8000
- 在项目根目录执行
前端启动
- 安装依赖:
cd frontendnpm install
- 运行:
npm run dev
- 打开:
http://127.0.0.1:5173
导入中心(队列)说明
- 导入任务使用持久化队列:任务与文件项写入数据库(
import_jobs/import_job_items),后端单消费者按创建时间 FIFO 串行执行。 - 状态枚举:
queued(排队中)、running(执行中)、success、failed、cancelled、retrying。 - 刷新页面后,前端会请求
GET /api/import/jobs?status=queued,running恢复未完成任务并轮询进度;无需依赖本地缓存。 - 失败项可通过「重试失败项」再次入队(新建任务);排队中/执行中任务可取消。
- 上传文件按任务与序号存为唯一路径(
upload_dir/{job_id}/{seq}_{filename}),避免同名覆盖。
默认登录
- 用户名:
admin - 密码:
admin123(请在.env修改)
功能清单
- 题目 CRUD、搜索、筛选、批量删除、批量更新
- AI 智能导入(PDF/Word -> OpenAI兼容接口 -> 预览 -> 确认保存)
- Excel 批量导入、模板下载、导出 JSON/CSV/Excel
- 导入中心(持久化队列):严格 FIFO 串行执行,任务状态持久化到数据库;刷新页面后自动恢复未完成任务列表;支持取消排队中/执行中任务、对失败项一键重试入队。
- 分类树管理(章节/知识点)
- 练习模式(抽题、判题、解析反馈)
- 仪表盘统计(总量、题型、难度、章节、导入历史)
Description
Languages
Python
69.6%
TypeScript
29.8%
CSS
0.3%
HTML
0.3%