帮助小学生每日学习语文、数学和英语的 Web 应用程序。
- 📚 本地数据: 使用 Markdown 文件存储汉字数据和评测记录
- 🎯 智能抽测: 根据掌握情况动态调整抽测内容
- 🔄 双向模式: 支持汉字→拼音和拼音→汉字两种模式
- ❌ 错字本: 自动汇总未掌握的汉字
- 🖨️ 打印功能: 生成可打印的纸质抽测卡
- 📄 字帖生成: 生成汉字描红字帖,支持自定义行列和显示选项
- 📖 教材预览: 在线查看 PDF 教材,支持缩放和翻页
- 📐 10种题型: 支持竖式、脱式、简算、四则混合等题型
- 🎲 智能组卷: 根据1-6年级自动匹配难度和题型
- 📝 灵活配置: 10-30题可选,支持题型自由组合
- 📄 一键打印: 生成可打印的A4练习题
- 🔤 三种模式: 英译中、中译英、拼写练习
- 🎓 分级词库: 按年级分类的单词库
- 🎯 智能抽测: 根据掌握程度动态调整出题
- ❌ 错题复习: 自动记录错题,针对性复习
- 📊 测验统计: 实时显示正确率和进度
- 📖 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 &RAZ 跟读功能默认使用 Mock 评估器。要启用真实的 Azure Speech 发音评估:
- 在 Azure portal 创建 Speech Service 资源
- 获取密钥和区域信息
- 设置环境变量:
# 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 阅读器默认从本地加载 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/ # 测试文件
- 在首页选择学期和课文
- 设置每日抽测数量(默认 20 个)
- 点击"开始抽测"
- 根据显示的汉字或拼音回忆答案
- 点击"显示答案"查看正确结果
- 标记掌握程度(掌握/模糊/未掌握)
- 在"错字本"查看和复习未掌握的字
- 使用"打印"功能生成纸质卡片
- 点击导航栏"📄 字帖"
- 选择要练习的汉字(支持批量输入)
- 设置字帖行列数
- 选择显示选项(拼音、笔顺提示等)
- 点击"生成字帖"
- 预览并打印描红字帖
- 点击导航栏"📚 教材预览"
- 选择需要查看的 PDF 教材
- 使用缩放和翻页功能浏览
- 支持在线阅读,无需下载
- 点击导航栏"📐 数学每日小测"
- 选择年级(1-6年级)
- 设置题目数量(10-30题,默认30题)
- 选择题型(支持10种题型混合)
- 点击"生成小测"
- 预览页面点击"打印"生成纸质练习题
- 点击导航栏"🔤 英语单词"
- 选择测验模式:
- 英译中: 看英文选中文释义
- 中译英: 看中文选英文单词
- 拼写练习: 听读音拼写单词
- 选择年级词库
- 设置单词数量(默认20个)
- 点击"开始测验"
- 逐题作答,系统自动判分
- 完成后查看结果和错题
- 在"错题本"中复习未掌握的单词
- 点击导航栏"📚 RAZ 跟读"
- 选择适合的级别和绘本
- 点击"开始练习"进入跟读页面
- 点击"🔊 听示范"听标准发音
- 点击"🎤 开始录音"跟读句子
- 系统自动评分,显示四级评价
- 查看单词级反馈(✓ 发音准确 / ✗ 需改进)
- 继续练习下一句,或重录改进
访问 /raz/speech-test 页面可直接测试 Azure Speech 发音评估功能,无需进入绘本练习。
pytest tests/ -v- 后端: FastAPI + Python 3.10+
- 前端: HTML5 + Tailwind CSS + 原生 JavaScript
- 数据存储: Markdown 文件(无需数据库)
MIT