TRAE开发|一款专为学生设计的错题管理 H5 应用

MindSpring 错题启智 - 学生错题管理 H5 应用

一个基于前后端分离架构的学生错题管理系统,支持错题上传、AI 识别、智能分析和个性化学习建议。

:clipboard: 项目简介

MindSpring 错题启智是一款专为学生设计的错题管理 H5 应用,帮助学生高效整理错题、分析学习薄弱点,并通过 AI 技术提供个性化的学习建议。

核心功能

  • :bullseye: 用户管理:注册、登录、个人信息管理
  • :camera: 错题上传:支持拍照上传、手动录入
  • :robot: AI 识别:自动识别题目内容和知识点
  • :bar_chart: 智能分析:学习薄弱点分析、进步趋势追踪
  • :speech_balloon: AI 对话:针对错题的智能答疑和解析
  • :mobile_phone: 响应式设计:适配手机、平板等多种设备

:hammer_and_wrench: 技术栈

前端

  • 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:代码编辑器

:file_folder: 项目结构

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         # 项目说明

:rocket: 快速开始

前置要求

  • Node.js 16.0+
  • MySQL 8.0+
  • Git

安装步骤

  1. 克隆项目

    git clone https://github.com/CanFlyhang/MindSpringErrorBook.git
    cd MindSpringErrorBook
    
  2. 安装依赖

    npm install
    
  3. 配置数据库

    • 创建数据库:wrong_question_manage

    • 导入数据库结构:

      mysql -u root -p wrong_question_manage < api/config/database.sql
      
  4. 配置 AI 接口(可选)

    • 编辑 api/config/ai.js 文件,填入你的 AI 服务 API 密钥
  5. 启动服务

    # 开发模式
    npm run dev
    
    # 生产模式
    npm start
    
  6. 访问应用

    • 前端:http://localhost:3000
    • API 文档:http://localhost:3000/api/docs

:electric_plug: 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 - 学习分析

:file_cabinet: 数据库设计

核心表结构

user

  • id (PK):用户 ID
  • username:用户名
  • password:密码(MD5 加密)
  • email:邮箱
  • created_at:创建时间

wrong_question

  • id (PK):错题 ID
  • user_id (FK):用户 ID
  • subject:学科
  • content:题目内容
  • answer:正确答案
  • analysis:题目解析
  • knowledge_point:知识点
  • image_url:图片路径
  • created_at:创建时间

chat_record

  • id (PK):对话 ID
  • user_id (FK):用户 ID
  • question_id (FK):错题 ID
  • message:消息内容
  • role:角色(user/ai)
  • created_at:创建时间

analysis_record

  • id (PK):分析 ID
  • user_id (FK):用户 ID
  • weak_points:薄弱点
  • suggestions:学习建议
  • created_at:创建时间

:mobile_phone: 前端使用说明

1. 用户注册/登录

  • 首次使用需注册账号
  • 登录后系统会自动保存 token(有效期 7 天)

2. 错题上传

  • 支持拍照上传或手动录入
  • 系统会自动识别题目内容(需配置 AI 接口)

3. 错题管理

  • 查看错题列表,支持按学科、知识点筛选
  • 点击错题查看详情和解析
  • 可编辑或删除错题

4. 学习分析

  • 查看个人学习薄弱点
  • 获取 AI 生成的个性化学习建议
  • 追踪学习进步趋势

:wrench: 开发指南

代码规范

  • 前端:使用 ES6+ 语法,遵循 JavaScript 标准规范
  • 后端:使用 Node.js 推荐的代码风格,添加函数级注释
  • 数据库:使用参数化查询,避免 SQL 注入

测试账号

  • 用户名:testuser
  • 密码:123456

常见问题

Q: 上传图片失败怎么办?
A: 检查文件大小是否超过限制(默认 5MB),确保网络连接正常。

Q: AI 识别不准确怎么办?
A: 尝试调整拍摄角度,确保题目清晰可见,或使用手动录入模式。

Q: 如何备份数据?
A: 定期导出数据库,或使用 Git 版本控制管理代码。

:handshake: 贡献指南

  1. Fork 项目
  2. 创建功能分支git checkout -b feature/AmazingFeature
  3. 提交更改git commit -m 'Add some AmazingFeature'
  4. 推送到分支git push origin feature/AmazingFeature
  5. 打开 Pull Request

:page_facing_up: 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

:telephone_receiver: 联系我们


:glowing_star: 如果你觉得这个项目有用,请给它一个 Star!

Made with :heart: for students everywhere

4 个赞

很厉害啊哥

2 个赞

直接把README发上来吗

2 个赞

哈哈哈,这样比较节省时间,下回再排版设计一下

2 个赞

不错不错。

2 个赞

应该要加些页面截图的

2 个赞