# mathpractise **Repository Path**: yaowenhu/mathpractise ## Basic Information - **Project Name**: mathpractise - **Description**: 这是一个数学训练营地项目,用来给小孩子练习数学。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-09 - **Last Updated**: 2025-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数学训练营地 项目说明 ## 简介 这是一个数学训练营地项目,用来给小孩子练习数学。 我将根据需要,自行设计并添加多个学习训练模块。 ## 架构设计 它将以网页的形式提供服务,可以在 pc 或者 android 平板的浏览器中运行。 它具有存储能力,但是不会存储特别多的数据,所以需要设计一个文件系统来保存数据。 它会采用前后端分离的方式进行开发。 一些核心功能主要在前端实现,后端主要用来提供存储和数据处理。 除了学习训练模块外,还包括数据统计分析模块,可以统计用户学习数据,并以图表的方式进行展示,或导出为 csv 文件。 ## 技术栈 1. 语言:java (基于 springboot) 2. 前端:考虑 vue.js (因为我也想学一下这个很流行的框架) 3. 存储:基于文件的存储,考虑使用 json 或者 csv 文件 4. 其他: - 本地缓存:CaffieneCache - 测试:JUnit - 构建(服务端):Maven - 文档:Markdown - 运行环境:JDK 11 ## 功能模块 ### 算术摸底 描述:随机展示一些算术题,并给出若干个选项,用户点击选项后,马上展示下一个算术题(不立即展示对错)。 难度选项: - 设置训练模式: - 限时:可进一步设置训练总时长(分钟):3~6 - 限制题目数量:可进一步设置题目数量:20~100,按10步进,额外增加25这个档位。 - 设置题型: - 1位数 + 1位数 - 20 以内加减法 - 两位数 加减 1位数 - 设置选项个数:2~4 统计的数据: 1. 完成题目数量 2. 正确率 3. 平均用时 4. 错误题列表 5. 耗时长尾分析(无论对错,列出耗时明显过高的题目和所花时间。可以考虑基于近期统计数据,计算出耗时分布在 top 10% 区间的题目,并给出这些题目的耗时分布情况。) **注意** 应该尽量抽取可复用的逻辑作为工具方法,比如生成随机数、生成题目、生成选项、计算答案、计算耗时、计算错误率等等。且可进一步提供不同题型的题目生成器。 ### 算术闪卡(选项版) 描述:随机展示一些算术题,并给出若干选项,用户点击选项后,马上展示下一个算术题(不立即展示对错);若用户在限定时间内没有选择答案,则展示下一个算术题,并算作未答。 难度选项: - 设置单个题目的作答时间:2~5秒 - 设置训练模式: - 限时:可进一步设置训练总时长(分钟):3~6 - 限制题目数量:可进一步设置题目数量:20~100,按10步进,额外增加25这个档位。 - 设置题型: - 1位数 + 1位数 - 20 以内加减法 - 两位数 加减 1位数 - 设置选项个数:2~4 统计的数据: 1. 完成题目数量 2. 正确率 3. 平均用时 4. 错误题列表 5. 耗时长尾分析(无论对错,列出耗时明显过高的题目和所花时间。可以考虑基于近期统计数据,计算出耗时分布在 top 10% 区间的题目,并给出这些题目的耗时分布情况。)