MindSpring 错题启智 - 学生错题管理 H5 应用
一个基于前后端分离架构的学生错题管理系统,支持错题上传、AI 识别、智能分析和个性化学习建议。
项目简介
MindSpring 错题启智是一款专为学生设计的错题管理 H5 应用,帮助学生高效整理错题、分析学习薄弱点,并通过 AI 技术提供个性化的学习建议。
核心功能
用户管理:注册、登录、个人信息管理
错题上传:支持拍照上传、手动录入
AI 识别:自动识别题目内容和知识点
智能分析:学习薄弱点分析、进步趋势追踪
AI 对话:针对错题的智能答疑和解析
响应式设计:适配手机、平板等多种设备
技术栈
前端
- HTML5 + CSS3:响应式界面设计
- 原生 JavaScript:交互逻辑实现
- LocalStorage:本地存储和 token 管理
- Fetch API:异步网络请求
- PHP:服务端渲染(传统模式)
后端
- Node.js (v16+):运行环境
- Express:Web 框架
- JWT:用户认证
- Multer:文件上传处理
- CORS:跨域资源共享
数据库
- MySQL 8.0+:数据存储
- InnoDB:存储引擎
- utf8mb4:字符集
开发工具
- Git:版本控制
- GitHub:代码托管
- VS Code:代码编辑器
项目结构
MindSpring错题启智/
├── css/ # 样式文件
│ └── style.css # 主样式文件
├── js/ # 前端脚本
│ ├── api.js # API 请求封装
│ ├── auth.js # 认证相关
│ └── utils.js # 工具函数
├── page/ # 页面文件
│ ├── index.php # 首页
│ ├── login.php # 登录页
│ ├── register.php # 注册页
│ ├── upload.php # 错题上传页
│ ├── list.php # 错题列表页
│ └── analysis.php # 学习分析页
├── api/ # 后端 API
│ ├── config/ # 配置文件
│ │ ├── ai.js # AI 接口配置
│ │ └── database.sql # 数据库脚本
│ ├── controller/ # 控制器
│ ├── middleware/ # 中间件
│ ├── model/ # 数据模型
│ ├── router/ # 路由
│ ├── service/ # 业务逻辑
│ └── utils/ # 工具函数
├── uploads/ # 上传文件存储
├── app.js # 后端入口文件
├── package.json # 项目依赖
├── .gitignore # Git 忽略文件
└── README.md # 项目说明
快速开始
前置要求
- Node.js 16.0+
- MySQL 8.0+
- Git
安装步骤
-
克隆项目
git clone https://github.com/CanFlyhang/MindSpringErrorBook.git cd MindSpringErrorBook -
安装依赖
npm install -
配置数据库
-
创建数据库:
wrong_question_manage -
导入数据库结构:
mysql -u root -p wrong_question_manage < api/config/database.sql
-
-
配置 AI 接口(可选)
- 编辑
api/config/ai.js文件,填入你的 AI 服务 API 密钥
- 编辑
-
启动服务
# 开发模式 npm run dev # 生产模式 npm start -
访问应用
- 前端:
http://localhost:3000 - API 文档:
http://localhost:3000/api/docs
- 前端:
API 接口
用户管理
POST /api/user/register- 用户注册POST /api/user/login- 用户登录GET /api/user/info- 获取用户信息
错题管理
POST /api/question/upload- 上传错题GET /api/question/list- 获取错题列表GET /api/question/detail- 获取错题详情PUT /api/question/update- 更新错题DELETE /api/question/delete- 删除错题
AI 服务
POST /api/ai/recognize- 题目识别POST /api/ai/chat- AI 对话GET /api/ai/analysis- 学习分析
数据库设计
核心表结构
user 表
id(PK):用户 IDusername:用户名password:密码(MD5 加密)email:邮箱created_at:创建时间
wrong_question 表
id(PK):错题 IDuser_id(FK):用户 IDsubject:学科content:题目内容answer:正确答案analysis:题目解析knowledge_point:知识点image_url:图片路径created_at:创建时间
chat_record 表
id(PK):对话 IDuser_id(FK):用户 IDquestion_id(FK):错题 IDmessage:消息内容role:角色(user/ai)created_at:创建时间
analysis_record 表
id(PK):分析 IDuser_id(FK):用户 IDweak_points:薄弱点suggestions:学习建议created_at:创建时间
前端使用说明
1. 用户注册/登录
- 首次使用需注册账号
- 登录后系统会自动保存 token(有效期 7 天)
2. 错题上传
- 支持拍照上传或手动录入
- 系统会自动识别题目内容(需配置 AI 接口)
3. 错题管理
- 查看错题列表,支持按学科、知识点筛选
- 点击错题查看详情和解析
- 可编辑或删除错题
4. 学习分析
- 查看个人学习薄弱点
- 获取 AI 生成的个性化学习建议
- 追踪学习进步趋势
开发指南
代码规范
- 前端:使用 ES6+ 语法,遵循 JavaScript 标准规范
- 后端:使用 Node.js 推荐的代码风格,添加函数级注释
- 数据库:使用参数化查询,避免 SQL 注入
测试账号
- 用户名:
testuser - 密码:
123456
常见问题
Q: 上传图片失败怎么办?
A: 检查文件大小是否超过限制(默认 5MB),确保网络连接正常。
Q: AI 识别不准确怎么办?
A: 尝试调整拍摄角度,确保题目清晰可见,或使用手动录入模式。
Q: 如何备份数据?
A: 定期导出数据库,或使用 Git 版本控制管理代码。
贡献指南
- Fork 项目
- 创建功能分支:
git checkout -b feature/AmazingFeature - 提交更改:
git commit -m 'Add some AmazingFeature' - 推送到分支:
git push origin feature/AmazingFeature - 打开 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
联系我们
- 项目地址:https://github.com/CanFlyhang/MindSpringErrorBook
- 开发者:CanFlyhang
- 邮箱:2153208034@qq.com
如果你觉得这个项目有用,请给它一个 Star!
Made with
for students everywhere