Skip to content

iamtouchskyer/math-project-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

147 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math++ 数学学习平台

Math++ 是一个全面的数学学习和竞赛准备平台,专注于提供高质量的数学教育资源和在线练习系统。

功能特点

1. 知识点系统

  • 分类展示(几何、代数、数论等)
  • 支持数学公式的优雅渲染
  • 中英双语内容支持
  • 知识点学习进度追踪

2. 练习系统

  • 按难度和类型分类的题库
  • 实时答题反馈
  • 详细的解答说明
  • 个人练习记录追踪

3. 在线考试

  • 75分钟标准化测试
  • 自动计时和提交
  • 实时进度追踪
  • 完整的成绩报告

4. 竞赛资源

  • 国际数学竞赛信息
  • 按国家分类的竞赛介绍
  • 中英双语竞赛说明
  • 详细的竞赛准备指南

5. 个人中心

  • 学习进度追踪
  • 个性化设置
  • 订阅管理
  • 账户信息管理

6. 数据验证规则编辑器

  • 面向非技术用户的简化界面
  • 向导式规则创建流程
  • 内置规则类型说明与推荐
  • 实时数据验证测试
  • 技术/简易模式自由切换
  • 支持所有JSON Schema验证规则类型

技术栈

  • 前端框架: React 19
  • 构建工具: Vite 6
  • UI 组件:
    • Ant Design 5.x
    • Ant Design Pro Components
    • ProCard, ProTable 等高级组件
  • 状态管理: React Hooks + Redux Toolkit
  • 路由: React Router v7
  • 数学公式渲染: KaTeX
  • Markdown 渲染: Marked + Highlight.js
  • HTTP 请求: Axios
  • 样式处理: CSS Modules

项目结构

src/
├── api/                # API 接口
├── components/         # 可复用组件
│   ├── common/        # 通用组件
│   └── ErrorPages/    # 错误页面
├── i18n/              # 国际化资源
└── pages/             # 页面组件

本地开发

  1. 安装依赖
npm install
  1. 启动开发服务器
npm start
  1. 构建生产版本
npm run build
  1. 预览生产构建
npm run preview
  1. 运行测试
# 运行所有测试
npm test

# 运行特定测试
npm run test:single "测试名称"

# 运行特定文件的测试
npm run test:file path/to/test/file.test.js

环境变量

项目使用Vite的环境变量系统,详细请参见VITE_MIGRATION_GUIDE.md

环境变量应在代码中通过以下方式访问:

import { getEnv } from './utils/envHelper';

// 使用环境变量,提供默认值
const apiUrl = getEnv('VITE_APP_API_URL', 'http://localhost:8888');

环境要求

  • Node.js >= 14.0.0
  • npm >= 6.14.0

主要功能模块

登录认证

  • 账号密码登录
  • 手机验证码登录
  • 自动登录保持
  • Token 基础认证

知识点管理

  • 分类浏览
  • 详情展示
  • 学习进度跟踪
  • 公式渲染

试题系统

  • 分类题库
  • 实时答题
  • 自动批改
  • 解答详情

在线考试

  • 计时考试
  • 自动提交
  • 进度保存
  • 成绩分析

竞赛信息

  • 竞赛介绍
  • 分类浏览
  • 详细说明
  • 备考指南

API 接口

项目使用 RESTful API,主要包括:

  • /api/login: 用户认证
  • /api/knowledge/*: 知识点相关
  • /api/problems/*: 试题相关
  • /api/exam/*: 考试相关
  • /api/competitions/*: 竞赛相关

贡献指南

  1. Fork 本仓库
  2. 创建特性分支
  3. 提交更改
  4. 发起 Pull Request

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages