|
|
3 months ago | |
|---|---|---|
| .. | ||
| README.md | 3 months ago | |
README.md
Pair-Programming
项目概述
数学学习系统是一个面向小初高学生的数学学习软件,旨在通过生成针对性的数学题目帮助学生进行练习和巩固数学知识。该系统采用前后端分离架构,前端基于 Electron 构建桌面应用,后端使用 Java 提供 API 服务。
项目结构
pair-programming/
├── src/
│ ├── electron-frontend/ # Electron前端
│ │ ├── resources/
│ │ │ ├── renderer/ # 渲染进程页面
│ │ │ │ ├── main.html # 主页面
│ │ │ │ ├── login.html # 登录页面
│ │ │ │ └── result.html # 结果页面
│ │ │ │ └── quiz.html # 答题页面
│ │ │ │ └── register.html # 注册页面
│ │ │ ├── main.js # 主进程代码
│ │ │ └── preload.js # 预加载脚本
│ │ ├── package.json # 前端依赖配置
│ │ └── package-lock.json # 依赖版本锁定文件
│ └── java-backend/ # Java后端
│ └── math_learn/ # 数学学习系统后端代码
│ ├── .idea/ # IntelliJ IDEA配置
│ ├── src/ # 源代码
│ │ └── com/mathlearn/
│ │ ├── Main.java # 主程序入口
│ │ ├── generator/ # 题目生成业务
│ │ │ ├── QuestionGenerator # 题目生成器接口
│ │ │ └── SeniorHighGenerator.java # 高中题目生成器
│ │ └──model/ # 实体类
│ │ ├── api/ # API响应类
│ │ ├── exam/ # 题目试卷类
│ │ └── user/ # 用户类
│ └── .gitignore # Git忽略文件
└──doc/ #说明文档
└── README.md
功能说明
核心功能
1.用户认证:支持用户注册、登录、退出、修改密码功能
2.题目生成:根据用户选择的学段(小学、初中、高中)生成相应难度的数学题目
3.答题系统:提供交互式答题界面
4.成绩评估:答题完成后计算并展示得分和评价
题目生成
系统根据不同学段生成相应难度的题目:
高中阶段包含对数等高级数学题目
题目数量可在 10-30 之间选择
生成过程包含详细日志记录,便于调试和跟踪
技术栈
前端技术
Electron:用于构建跨平台桌面应用
HTML/CSS:页面结构和样式
JavaScript:交互逻辑
node-fetch:网络请求
后端技术
Java:后端服务开发
JDK 21:Java 开发环境
环境配置与运行
后端运行:
1.确保安装 JDK 21
2.在 IDE(如 IntelliJ IDEA)中打开math_learn项目
3.运行com.mathlearn.Main主类启动后端服务
API 接口说明
生成试卷
端点:/generate-exam
方法:POST
参数:
sessionId:用户会话 ID
userType:用户类型(小学 / 初中 / 高中)
questionCount:题目数量(10-30)
返回:包含试卷信息和第一题的 JSON 响应
退出登录
端点:/logout
方法:POST
参数:
sessionId:用户会话 ID
返回:退出结果
注意事项
确保后端服务在本地 8080 端口运行,否则前端无法正常获取数据
题目生成可能需要一定时间,系统设置了 15 秒超时控制
若遇到连接问题,请检查:
1.后端 Java 程序是否运行
2.网络连接是否正常
3.端口 8080 是否被占用
使用教程
1.后端启动
两种路径:
1)安装mathlearn_setup.exe安装包,根据指示完成下载
确保端口8080未被占用
backend目录有jar和exe两种方式启动后端服务器
2)在 IDE(如 IntelliJ IDEA,或其他编程软件)中打开math_learn项目
确保端口8080未被占用
运行com.mathlearn.Main主类启动后端服务
2.前端运行:
安装mathlearn_setup.exe安装包,根据指示完成下载
3.根据邮箱注册自己的账号并完成登录
4.根据用户类型选择不同的题目类型,并输入所需题目数量(10-30题)
5.完成答题并查看所得分数
6.安装目录下backend/math_questions文件夹里存储用户答题数据