Skip to content

sarowlwp/study-class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

小学学习小工具

帮助小学生每日学习语文、数学和英语的 Web 应用程序。

功能特点

语文学习

  • 📚 本地数据: 使用 Markdown 文件存储汉字数据和评测记录
  • 🎯 智能抽测: 根据掌握情况动态调整抽测内容
  • 🔄 双向模式: 支持汉字→拼音和拼音→汉字两种模式
  • 错字本: 自动汇总未掌握的汉字
  • 🖨️ 打印功能: 生成可打印的纸质抽测卡
  • 📄 字帖生成: 生成汉字描红字帖,支持自定义行列和显示选项
  • 📖 教材预览: 在线查看 PDF 教材,支持缩放和翻页

数学每日小测

  • 📐 10种题型: 支持竖式、脱式、简算、四则混合等题型
  • 🎲 智能组卷: 根据1-6年级自动匹配难度和题型
  • 📝 灵活配置: 10-30题可选,支持题型自由组合
  • 📄 一键打印: 生成可打印的A4练习题

英语单词测验

  • 🔤 三种模式: 英译中、中译英、拼写练习
  • 🎓 分级词库: 按年级分类的单词库
  • 🎯 智能抽测: 根据掌握程度动态调整出题
  • 错题复习: 自动记录错题,针对性复习
  • 📊 测验统计: 实时显示正确率和进度

RAZ 跟读练习

  • 📖 RAZ 分级阅读: 支持 RAZ 绘本跟读练习
  • 🎤 语音评测: 集成 Azure Speech Service 进行发音评估
  • 四级评分: 非常棒/很好/不错/继续加油
  • 单词反馈: 标记发音准确和需改进的单词
  • 📈 学习进度: 记录每日练习情况,智能推荐

通用

  • 👶 儿童友好: 色彩丰富的界面,适合小学生使用
  • 📱 响应式设计: 支持电脑、平板访问

快速开始

安装依赖

pip install -r requirements.txt

启动应用

前台运行(带日志输出):

python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

后台运行(日志保存到文件):

python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload > uvicorn.log 2>&1 &

然后访问 http://localhost:8000

配置

Azure Speech 发音评估(可选)

RAZ 跟读功能默认使用 Mock 评估器。要启用真实的 Azure Speech 发音评估:

  1. 在 Azure portal 创建 Speech Service 资源
  2. 获取密钥和区域信息
  3. 设置环境变量:
# Azure Speech 配置
export SPEECH_ASSESSOR=azure
export AZURE_SPEECH_KEY=your-key-here
export AZURE_SPEECH_REGION=southeastasia  # 或其他区域如 eastasia

或使用 .env 文件(项目已提供 .env.example 模板):

cp .env.example .env
# 编辑 .env 填入你的 Azure 配置

支持的区域:eastasia, southeastasia, westus, westeurope

RAZ 静态资源服务器(可选)

RAZ 阅读器默认从本地加载 PDF 和音频资源。如需使用 CDN 或独立静态资源服务器:

# 静态资源服务器配置
export StaticServer="https://your-cdn.com"

配置后,RAZ reader 将从 https://your-cdn.com/raz/media/... 加载资源,而非本地路径。 未配置时继续使用本地路径 /raz/media/...

添加汉字数据

data/characters/ 目录下创建 Markdown 文件:

# 一年级下册

## 第一课:春天来了

| 汉字 | 拼音 | 释义 | 例句 |
|------|------|------|------|
|| chūn | 春季,一年的第一季 | 春天来了,花儿开了。 |

项目结构

.
├── app/              # 应用程序
│   ├── main.py       # FastAPI 入口
│   ├── models/       # 数据模型
│   ├── services/     # 业务逻辑
│   ├── routers/      # 路由
│   ├── templates/    # HTML 模板
│   └── static/       # 静态资源
├── data/             # 数据文件
│   ├── characters/   # 汉字数据
│   ├── records/      # 评测记录
│   ├── pdfs/         # PDF教材文件
│   ├── english/      # 英语单词数据
│   │   ├── words/    # 单词库
│   │   └── audios/   # 单词音频文件
│   └── raz/          # RAZ 书库和练习记录
│       ├── library/  # RAZ 绘本资源
│       └── records/  # RAZ 练习记录
└── tests/            # 测试文件

使用说明

语文抽测卡

  1. 在首页选择学期和课文
  2. 设置每日抽测数量(默认 20 个)
  3. 点击"开始抽测"
  4. 根据显示的汉字或拼音回忆答案
  5. 点击"显示答案"查看正确结果
  6. 标记掌握程度(掌握/模糊/未掌握)
  7. 在"错字本"查看和复习未掌握的字
  8. 使用"打印"功能生成纸质卡片

字帖生成

  1. 点击导航栏"📄 字帖"
  2. 选择要练习的汉字(支持批量输入)
  3. 设置字帖行列数
  4. 选择显示选项(拼音、笔顺提示等)
  5. 点击"生成字帖"
  6. 预览并打印描红字帖

教材预览

  1. 点击导航栏"📚 教材预览"
  2. 选择需要查看的 PDF 教材
  3. 使用缩放和翻页功能浏览
  4. 支持在线阅读,无需下载

数学每日小测

  1. 点击导航栏"📐 数学每日小测"
  2. 选择年级(1-6年级)
  3. 设置题目数量(10-30题,默认30题)
  4. 选择题型(支持10种题型混合)
  5. 点击"生成小测"
  6. 预览页面点击"打印"生成纸质练习题

英语单词测验

  1. 点击导航栏"🔤 英语单词"
  2. 选择测验模式:
    • 英译中: 看英文选中文释义
    • 中译英: 看中文选英文单词
    • 拼写练习: 听读音拼写单词
  3. 选择年级词库
  4. 设置单词数量(默认20个)
  5. 点击"开始测验"
  6. 逐题作答,系统自动判分
  7. 完成后查看结果和错题
  8. 在"错题本"中复习未掌握的单词

RAZ 跟读练习

  1. 点击导航栏"📚 RAZ 跟读"
  2. 选择适合的级别和绘本
  3. 点击"开始练习"进入跟读页面
  4. 点击"🔊 听示范"听标准发音
  5. 点击"🎤 开始录音"跟读句子
  6. 系统自动评分,显示四级评价
  7. 查看单词级反馈(✓ 发音准确 / ✗ 需改进)
  8. 继续练习下一句,或重录改进

Azure Speech 测试

访问 /raz/speech-test 页面可直接测试 Azure Speech 发音评估功能,无需进入绘本练习。

开发

运行测试

pytest tests/ -v

技术栈

  • 后端: FastAPI + Python 3.10+
  • 前端: HTML5 + Tailwind CSS + 原生 JavaScript
  • 数据存储: Markdown 文件(无需数据库)

License

MIT

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors