GitHub stars GitHub forks GitHub issues GitHub license
一个专注、高效的在线训练环境,帮助用户通过"学习-练习-反馈-复习"的科学闭环,快速掌握LaTeX数学公式的键盘输入方法。
立即体验: https://pipeak.share4y.cn/
🎯 完整功能体验:在线版本提供完整的学习功能,包括:
- 🎓 完整课程学习: 体验所有课程内容和学习路径
- 🏋️ 智能练习系统: 实时LaTeX公式练习和反馈
- 📊 学习数据统计: 个人学习进度和成就追踪
- 🌐 多语言支持: 中英文界面自由切换
- 🎨 主题切换: 明亮/暗黑模式个性化体验
- 📱 响应式设计: 完美适配手机、平板、电脑
- 中英文切换: 支持简体中文和英文界面
- 智能检测: 自动检测浏览器语言偏好
- 实时切换: 无需刷新页面即可切换语言
- 暗黑/明亮模式: 支持两种主题模式
- 系统跟随: 自动跟随系统主题设置
- 个性化: 记住用户的主题偏好
- 统一设计语言: 全新的组件设计系统
- 响应式布局: 完美适配各种设备尺寸
- 交互优化: 更流畅的用户体验
- 🎓 系统化学习路径: 10个精心设计的课程,从基础语法到高级应用
- 🏋️ 实战练习导向: 38个真实场景练习题,学以致用
- 🧠 智能学习系统: AI驱动的个性化推荐和进度追踪
- ⚡ 即时反馈机制: 实时预览 + 智能验证,错误立即纠正
- 📱 全平台支持: 响应式设计,支持桌面、平板、手机
- 🔄 科学复习算法: 基于SM-2算法的智能复习提醒
- 🔐 便捷登录方式: 支持邮箱注册和Google OAuth快速登录
- 📚 学术写作: 论文、报告中的数学公式输入
- 🤖 AI交互: 与ChatGPT、Claude等AI模型进行数学讨论
- 👨🏫 教学辅助: 教师制作数学课件和习题
- 📊 技术文档: 工程和科研文档中的公式表达
- 第1课: 数学环境与基础语法 (上标、下标、数学环境)
- 第2课: 分数与根号 (分数、根号、复杂表达式)
- 第3课: 希腊字母与常用符号 (希腊字母、数学符号)
- 第4课: 函数与三角函数 (函数、三角函数、对数)
- 第5课: 求和、积分与极限 (求和、积分、极限符号)
- 第6课: 矩阵与向量 (矩阵、向量、线性代数)
- 第7课: 方程组与不等式 (方程组、不等式、分段函数)
- 第8课: 集合论与逻辑符号 (集合运算、逻辑符号、量词)
- 第9课: 数论与特殊运算 (高德纳箭头、同余、组合数学)
- 第10课: 高级分析与拓扑 (偏导数、梯度、范数、内积)
- 练习题库: 38个精心设计的练习题,覆盖所有知识点
- 智能筛选: 按课程、难度、完成状态筛选练习题
- 搜索功能: 快速搜索特定题目内容
- 练习统计: 详细的学习数据分析和进度可视化
- 个性化推荐: 基于学习情况的智能练习建议
- 独立练习模式: 专门的练习执行环境,专注答题
- 实时预览: 输入LaTeX代码时即时显示渲染效果
- 增强验证: 支持更多LaTeX等价形式的智能识别
- 渐进提示: 答错时提供逐步指导,帮助理解
- 难度分级: 简单/中等/困难三个难度等级
- 进度追踪: 记录学习进度和练习成绩
- 成就反馈: 完成练习后的即时反馈和鼓励
- SM-2算法: 科学的间隔重复学习算法
- 个性化复习: 根据掌握程度调整复习频率
- 进度追踪: 详细的学习数据分析和可视化
- 成就系统: 学习里程碑和成就徽章
- 响应式设计: 支持桌面、平板、手机访问
- 局域网部署: 支持多设备同时访问
- 跨平台兼容: 支持所有现代浏览器
- 离线缓存: PWA支持,部分功能可离线使用
- 框架: Flask (Python)
- 数据库: MongoDB
- 认证: Flask-JWT-Extended + OAuth (Google)
- API: RESTful API
- 跨域: Flask-CORS
- 密码加密: bcrypt
- 部署: Gunicorn
- 框架: React + Vite
- LaTeX渲染: KaTeX
- 样式: Tailwind CSS
- 状态管理: Zustand
- 路由: React Router
- 国际化: i18next
- HTTP客户端: Axios
- Markdown渲染: React Markdown
latex-trainer/
├── backend/ # Flask 后端
│ ├── app/
│ │ ├── models/ # MongoDB 数据模型
│ │ ├── routes/ # API 路由
│ │ ├── services/ # 业务逻辑
│ │ ├── utils/ # 工具函数
│ │ └── __init__.py # Flask 应用工厂
│ ├── config.py # 配置文件
│ ├── requirements.txt # Python 依赖
│ └── run.py # 应用入口
├── frontend/ # React 前端
│ ├── src/
│ │ ├── components/ # React 组件
│ │ ├── pages/ # 页面组件
│ │ ├── services/ # API 服务
│ │ ├── utils/ # 工具函数
│ │ └── App.jsx # 主应用组件
│ ├── package.json # Node.js 依赖
│ └── vite.config.js # Vite 配置
├── docs/ # 文档
└── README.md
| 组件 | 版本要求 | 说明 |
|---|---|---|
| Python | 3.8+ | 后端运行环境 |
| Node.js | 16+ | 前端构建工具 |
| MongoDB | 4.4+ | 数据库 |
| 浏览器 | 现代浏览器 | 支持ES6+和WebGL |
# 1. 克隆项目 git clone https://github.com/prehisle/pipeak.git cd pipeak # 2. 启动后端 (新终端窗口) cd backend pip install -r requirements.txt python app.py # 3. 启动前端 (新终端窗口) cd frontend npm install npm run dev # 4. 打开浏览器访问 # 前端: http://localhost:5173 # 后端API: http://localhost:5000
- 注册账户: 访问 http://localhost:5173 并注册新账户
- 开始学习: 从第1课"数学环境与基础语法"开始
- 练习巩固: 完成课程后到练习中心进行专项训练
- 复习提升: 使用复习系统巩固已学知识
| 页面 | 功能 | 快捷键 |
|---|---|---|
| 学习面板 | 课程概览、学习进度 | Ctrl+1 |
| 练习中心 | 练习题库、智能推荐 | Ctrl+2 |
| 复习页面 | 智能复习、错题重做 | Ctrl+3 |
| 课程页面 | 交互式学习、实时预览 | Ctrl+Enter 提交 |
- 项目基础架构搭建
- 用户认证系统 (JWT认证)
- 数据库模型设计 (MongoDB)
- 基础课程展示
- KaTeX实时预览
- 简单答案校验
- 交互式练习系统
- 渐进式提示系统
- 用户进度追踪
- 改进答案校验算法 (LaTeX标准化)
- 错误提示系统 (智能反馈)
- 全面课程体系 (10个课程,38个练习题)
- 高级数学符号支持 (高德纳箭头、数论、分析)
- LaTeX兼容性优化
- 性能优化 (组件优化、错误处理)
- 移动端适配 (响应式设计)
- 局域网部署 (多设备访问)
- CORS配置优化
- 键盘快捷键支持
- 完整的数学公式体系 (从基础到博士级别)
- 实时LaTeX预览 (输入即预览)
- 智能错误修复 (LaTeX兼容性处理)
- 多难度练习题 (简单/中等/困难)
- 学习进度统计
- 智能缓存机制 (5分钟缓存,避免重复API调用)
- API调用优化 (减少90%+重复请求)
- 控制台日志清理 (移除调试日志,保留错误日志)
- 前端状态管理优化 (useEffect依赖优化)
- 页面响应速度提升 (缓存期内即时显示)
- 完整学习流程验证 (6课完整测试通过)
cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt python run.py
后端服务器将在 http://0.0.0.0:5000 启动,支持局域网访问。
cd frontend
npm install
npm run dev前端服务器将在 http://localhost:5173 启动,同时支持局域网访问。
项目支持局域网多设备访问:
- 前端:
http://[您的IP]:5173 - 后端:
http://[您的IP]:5000 - 其他设备连接到相同WiFi即可访问
确保MongoDB服务正在运行:
# 项目使用的MongoDB连接 mongodb://user:password@192.168.1.4:27017/?authSource=admin
POST /api/auth/register- 用户注册POST /api/auth/login- 用户登录POST /api/auth/refresh- 刷新JWT令牌GET /api/auth/me- 获取当前用户信息POST /api/auth/google- Google OAuth登录
GET /api/lessons/- 获取课程列表GET /api/lessons/{id}- 获取课程详情POST /api/lessons/{id}/complete- 标记课程完成
POST /api/practice/submit- 提交练习答案POST /api/practice/hint- 获取练习提示GET /api/practice/progress/{lesson_id}- 获取练习进度GET /api/practice/list- 获取所有练习题列表GET /api/practice/stats- 获取用户练习统计
GET /api/reviews/today- 获取今日复习任务POST /api/reviews/submit- 提交复习答案GET /api/reviews/items- 获取用户的所有复习项目PUT /api/reviews/items/{item_id}- 更新复习项目数据GET /api/reviews/stats- 获取用户复习统计信息
GET /api/users/profile- 获取用户资料PUT /api/users/profile- 更新用户资料GET /api/users/progress- 获取学习进度统计
- 课程数量: 10个完整课程
- 知识点: 24个理论知识点
- 练习题: 38个实战练习题
- 难度分布: 简单(12题) | 中等(16题) | 困难(10题)
- 前后端分离: React + Flask 现代化架构
- 实时渲染: KaTeX 数学公式实时预览
- 智能验证: LaTeX 语法标准化和兼容性处理
- 多设备支持: 响应式设计 + 局域网部署
- 完整认证: JWT 用户认证和权限管理
- 性能优化: 智能缓存机制,API调用减少90%+
- 用户体验: 页面响应速度显著提升,控制台日志清洁
从基础的数学环境到高级的数学分析符号:
- ✅ 基础语法 (上标、下标、分数、根号)
- ✅ 希腊字母和常用符号
- ✅ 函数和三角函数
- ✅ 积分、求和、极限
- ✅ 矩阵和向量
- ✅ 集合论和逻辑符号
- ✅ 数论和高德纳箭头
- ✅ 高级分析和拓扑符号
我们欢迎所有形式的贡献!无论是bug报告、功能建议还是代码贡献。
如果您发现了bug或有功能建议,请:
- 检查 Issues 确认问题未被报告
- 创建新的Issue,详细描述问题或建议
- 提供复现步骤、环境信息和截图(如适用)
- Fork项目 到您的GitHub账户
- 创建分支
git checkout -b feature/amazing-feature - 提交更改
git commit -m 'Add some amazing feature' - 推送分支
git push origin feature/amazing-feature - 创建Pull Request
- 🐛 修复已知bug
- ✨ 添加新的LaTeX符号支持
- 🎨 改进用户界面设计
- 📱 优化移动端体验
- 🌍 添加多语言支持
- 📊 增强数据分析功能
- 🏋️ 练习中心: 完整的练习题管理和执行环境
- 🔍 智能搜索: 支持按题目内容、课程名称搜索
- 💡 个性化推荐: 基于学习进度的智能练习建议
- 📊 统计分析: 详细的学习数据可视化
- 🎯 筛选系统: 按课程、难度、完成状态筛选
- 增强LaTeX答案验证,支持更多等价形式
- 优化练习完成后的反馈体验
- 改进统计图表的视觉效果
- 完善移动端响应式设计
- 📚 完整的10个课程体系
- 🏋️ 38个实战练习题
- 🔄 SM-2智能复习算法
- 🎯 渐进式提示系统
- 👤 用户认证系统
- 📖 交互式课程学习
- ⚡ 实时LaTeX预览
- 📊 学习进度追踪
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 跃界星图 - 感谢跃界星图对本项目的赞助支持
- KaTeX - 优秀的LaTeX数学公式渲染库
- React - 强大的前端框架
- Flask - 轻量级的Python Web框架
- MongoDB - 灵活的NoSQL数据库
- Tailwind CSS - 实用优先的CSS框架
- 💬 Discussions: GitHub Discussions
- 🐛 Issues: GitHub Issues
🎯 让LaTeX学习变得简单高效!
如果这个项目对您有帮助,请给我们一个 ⭐ Star!