fix: 试卷生成增加详细错误提示
小学生错题收集与智能记忆系统。
拍照收集错题 → AI识别整理 → 艾宾浩斯记忆曲线复习 → 生成A4试卷打印练习
数据库使用 SQLite,无需额外安装,开箱即用。
git clone <仓库地址> cd QuizFrog
cd backend # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activate # 安装依赖 pip install -r requirements.txt
requirements.txt 包含:
fastapi
uvicorn
sqlalchemy
aiosqlite
httpx
pillow
reportlab
python-jose
passlib[bcrypt]
pydantic
cd frontend npm install
# 复制配置模板 cp .env.example .env
编辑 .env:
.env
# Kimi API Key(图片识别和AI解析需要) # 获取地址:https://platform.moonshot.cn/ KIMI_API_KEY=sk-你的密钥 # 其他配置一般不需要修改 DATABASE_URL=sqlite+aiosqlite:///./edu_system.db JWT_SECRET=修改为一个随机字符串
需要同时启动后端和前端,建议开两个终端窗口。
cd backend venv\Scripts\activate # Windows # source venv/bin/activate # macOS/Linux # 初始化数据库(首次运行需要) python init_db.py # 启动服务 uvicorn app.main:app --reload --port 8000
看到 Uvicorn running on http://0.0.0.0:8000 表示启动成功。
Uvicorn running on http://0.0.0.0:8000
cd frontend npm run dev
看到 Ready in x.xs 表示启动成功。
Ready in x.xs
0.0.0.0
打开 http://localhost:3000,点击「注册」,输入用户名、密码、昵称和年级。
两种方式:
拍照识别(需要 Kimi API Key):
手动输入:
复习间隔(默认):1天 → 2天 → 4天 → 7天 → 15天 → 30天 可在「设置」页面自定义。
点底部导航「错题库」:
默认只能本机访问,若需局域网内其他设备访问:
修改 frontend/next.config.js 中的 destination 为你的局域网 IP:
frontend/next.config.js
destination
destination: 'http://192.168.x.x:8000/api/:path*'
后端绑定 0.0.0.0:
uvicorn app.main:app --reload --port 8000 --host 0.0.0.0
前端绑定 0.0.0.0:
npm run dev -- --hostname 0.0.0.0
手机浏览器访问 http://192.168.x.x:3000
http://192.168.x.x:3000
QuizFrog/ ├── backend/ # FastAPI 后端 │ ├── app/ │ │ ├── models/ # 数据库模型 │ │ ├── schemas/ # API 数据格式 │ │ ├── routers/ # API 路由 │ │ ├── services/ # 业务逻辑 │ │ │ ├── ocr_service.py # Kimi Vision OCR │ │ │ ├── ai_analysis.py # AI 深度解析 │ │ │ ├── spaced_repetition.py # 艾宾浩斯算法 │ │ │ └── pdf_service.py # PDF 生成 │ │ └── main.py # 应用入口 │ └── requirements.txt │ ├── frontend/ # Next.js 前端 │ └── src/ │ ├── app/ # 页面路由 │ ├── components/ # UI 组件 │ ├── lib/ # API客户端、状态管理 │ └── types/ # TypeScript 类型 │ └── .env.example # 环境变量模板
AI 功能均为手动触发,不会自动调用,完全由用户控制。
错题收集和出题系统
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
错题蛙 QuizFrog
小学生错题收集与智能记忆系统。
环境要求
安装依赖
1. 克隆项目
2. 后端依赖
requirements.txt 包含:
fastapi— Web 框架uvicorn— ASGI 服务器sqlalchemy— ORMaiosqlite— 异步 SQLite 驱动httpx— HTTP 客户端(调用 Kimi API)pillow— 图片处理reportlab— PDF 生成python-jose— JWT 认证passlib[bcrypt]— 密码加密pydantic— 数据验证3. 前端依赖
4. 环境变量
编辑
.env:启动项目
需要同时启动后端和前端,建议开两个终端窗口。
终端 1:启动后端
看到
Uvicorn running on http://0.0.0.0:8000表示启动成功。终端 2:启动前端
看到
Ready in x.xs表示启动成功。访问
0.0.0.0,见下方说明)使用说明
第一步:注册账号
打开 http://localhost:3000,点击「注册」,输入用户名、密码、昵称和年级。
第二步:收集错题
两种方式:
拍照识别(需要 Kimi API Key):
手动输入:
第三步:智能复习
复习间隔(默认):1天 → 2天 → 4天 → 7天 → 15天 → 30天 可在「设置」页面自定义。
第四步:错题库管理
点底部导航「错题库」:
第五步:生成试卷
局域网访问(手机/平板)
默认只能本机访问,若需局域网内其他设备访问:
修改
frontend/next.config.js中的destination为你的局域网 IP:后端绑定
0.0.0.0:前端绑定
0.0.0.0:手机浏览器访问
http://192.168.x.x:3000项目结构
费用说明
AI 功能均为手动触发,不会自动调用,完全由用户控制。