Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked from prehisle/pipeak

# LaTeX 速成训练器 (LaTeX Speed Trainer) 一个专注、高效的在线训练环境,帮助用户通过"学习-练习-反馈-复习"的科学闭环,快速掌握LaTeX数学公式的键盘输入方法。

License

Notifications You must be signed in to change notification settings

very9021/pipeak

Repository files navigation

🚀 LaTeX 速成训练器 (LaTeX Speed Trainer)

GitHub stars GitHub forks GitHub issues GitHub license

一个专注、高效的在线训练环境,帮助用户通过"学习-练习-反馈-复习"的科学闭环,快速掌握LaTeX数学公式的键盘输入方法。

🚀 在线体验 | 📖 使用指南 | 🤝 贡献指南 | 📄 更新日志


🌐 在线体验

立即体验: https://pipeak.share4y.cn/

🎯 完整功能体验:在线版本提供完整的学习功能,包括:

  • 🎓 完整课程学习: 体验所有课程内容和学习路径
  • 🏋️ 智能练习系统: 实时LaTeX公式练习和反馈
  • 📊 学习数据统计: 个人学习进度和成就追踪
  • 🌐 多语言支持: 中英文界面自由切换
  • 🎨 主题切换: 明亮/暗黑模式个性化体验
  • 📱 响应式设计: 完美适配手机、平板、电脑

✨ 最新功能

🌐 多语言支持

  • 中英文切换: 支持简体中文和英文界面
  • 智能检测: 自动检测浏览器语言偏好
  • 实时切换: 无需刷新页面即可切换语言

🎨 主题系统

  • 暗黑/明亮模式: 支持两种主题模式
  • 系统跟随: 自动跟随系统主题设置
  • 个性化: 记住用户的主题偏好

🎯 UI一致性改进

  • 统一设计语言: 全新的组件设计系统
  • 响应式布局: 完美适配各种设备尺寸
  • 交互优化: 更流畅的用户体验

🎯 项目特色

🌟 为什么选择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

🎯 首次使用指南

  1. 注册账户: 访问 http://localhost:5173 并注册新账户
  2. 开始学习: 从第1课"数学环境与基础语法"开始
  3. 练习巩固: 完成课程后到练习中心进行专项训练
  4. 复习提升: 使用复习系统巩固已学知识

🔍 功能导览

页面 功能 快捷键
学习面板 课程概览、学习进度 Ctrl+1
练习中心 练习题库、智能推荐 Ctrl+2
复习页面 智能复习、错题重做 Ctrl+3
课程页面 交互式学习、实时预览 Ctrl+Enter 提交

🚀 开发阶段

Phase 1: 核心功能原型 ✅ (已完成)

  • 项目基础架构搭建
  • 用户认证系统 (JWT认证)
  • 数据库模型设计 (MongoDB)
  • 基础课程展示
  • KaTeX实时预览
  • 简单答案校验
  • 交互式练习系统
  • 渐进式提示系统
  • 用户进度追踪

Phase 2: 智能化功能 ✅ (已完成)

  • 改进答案校验算法 (LaTeX标准化)
  • 错误提示系统 (智能反馈)
  • 全面课程体系 (10个课程,38个练习题)
  • 高级数学符号支持 (高德纳箭头、数论、分析)
  • LaTeX兼容性优化

Phase 3: 优化完善 ✅ (已完成)

  • 性能优化 (组件优化、错误处理)
  • 移动端适配 (响应式设计)
  • 局域网部署 (多设备访问)
  • CORS配置优化
  • 键盘快捷键支持

Phase 4: 高级功能 🆕 (新增完成)

  • 完整的数学公式体系 (从基础到博士级别)
  • 实时LaTeX预览 (输入即预览)
  • 智能错误修复 (LaTeX兼容性处理)
  • 多难度练习题 (简单/中等/困难)
  • 学习进度统计

Phase 5: 性能优化与用户体验 🚀 (最新完成)

  • 智能缓存机制 (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

📝 API 文档

认证相关 ✅

  • 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或有功能建议,请:

  1. 检查 Issues 确认问题未被报告
  2. 创建新的Issue,详细描述问题或建议
  3. 提供复现步骤、环境信息和截图(如适用)

💻 代码贡献

  1. Fork项目 到您的GitHub账户
  2. 创建分支 git checkout -b feature/amazing-feature
  3. 提交更改 git commit -m 'Add some amazing feature'
  4. 推送分支 git push origin feature/amazing-feature
  5. 创建Pull Request

🎯 贡献方向

  • 🐛 修复已知bug
  • ✨ 添加新的LaTeX符号支持
  • 🎨 改进用户界面设计
  • 📱 优化移动端体验
  • 🌍 添加多语言支持
  • 📊 增强数据分析功能

📄 更新日志

v1.2.0 (2025年07月25日) - 练习系统完善版

✨ 新功能

  • 🏋️ 练习中心: 完整的练习题管理和执行环境
  • 🔍 智能搜索: 支持按题目内容、课程名称搜索
  • 💡 个性化推荐: 基于学习进度的智能练习建议
  • 📊 统计分析: 详细的学习数据可视化
  • 🎯 筛选系统: 按课程、难度、完成状态筛选

🔧 改进

  • 增强LaTeX答案验证,支持更多等价形式
  • 优化练习完成后的反馈体验
  • 改进统计图表的视觉效果
  • 完善移动端响应式设计

v1.1.0 (2025年07月24日) - 核心功能完善版

✨ 新功能

  • 📚 完整的10个课程体系
  • 🏋️ 38个实战练习题
  • 🔄 SM-2智能复习算法
  • 🎯 渐进式提示系统

v1.0.0 (2025年07月23日) - 首个正式版本

✨ 核心功能

  • 👤 用户认证系统
  • 📖 交互式课程学习
  • ⚡ 实时LaTeX预览
  • 📊 学习进度追踪

📄 许可证

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

🙏 致谢

🤝 赞助商

  • 跃界星图 - 感谢跃界星图对本项目的赞助支持

🛠️ 技术栈

  • KaTeX - 优秀的LaTeX数学公式渲染库
  • React - 强大的前端框架
  • Flask - 轻量级的Python Web框架
  • MongoDB - 灵活的NoSQL数据库
  • Tailwind CSS - 实用优先的CSS框架

📞 联系我们


🎯 让LaTeX学习变得简单高效!

如果这个项目对您有帮助,请给我们一个 ⭐ Star!

⬆ 回到顶部

About

# LaTeX 速成训练器 (LaTeX Speed Trainer) 一个专注、高效的在线训练环境,帮助用户通过"学习-练习-反馈-复习"的科学闭环,快速掌握LaTeX数学公式的键盘输入方法。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 51.2%
  • Python 45.7%
  • CSS 2.4%
  • HTML 0.7%

AltStyle によって変換されたページ (->オリジナル) /