Skip to content

xiaoyiam/vocabmaster

Repository files navigation

词忆 VocabMaster 🧠

多感官智能背单词系统 - 用科学改变记忆

一个基于 SM-2 间隔重复算法 的智能背单词 Web 应用,结合 AI 智能解释真实语境例句多感官学习等功能,帮助用户高效记忆英语词汇。

Python Flask License

✨ 功能特性

🧪 科学记忆算法

  • SM-2 间隔重复 - 根据掌握程度智能调整复习时间
  • 遗忘曲线优化 - 在遗忘临界点精准复习
  • 个性化学习计划 - 每日新词 + 复习任务自动规划

🎬 真实语境学习

  • 电影台词例句 - 从热门电影中精选的真实对话
  • 新闻报道语境 - 时事新闻中的单词应用
  • 自动获取例句 - 从 Tatoeba 等开源例句库获取

🤖 AI 智能功能

  • AI 单词解释 - 详细释义、词根词缀、记忆技巧
  • AI 句子翻译 - 智能翻译并解析句子结构
  • 划词翻译 - 选中文字即时翻译和解释
  • 语境分析 - 分析单词在特定语境中的用法

👂 多感官体验

  • 卡片模式 - 经典翻卡学习
  • 拼写模式 - 强化书写记忆
  • 听写模式 - 听音识词练习
  • 句子填空 - 语境应用练习
  • 发音功能 - 美式/英式发音切换

📊 数据驱动

  • 学习日历 - 热力图展示学习轨迹
  • 进度统计 - 词汇掌握情况一目了然
  • 成就系统 - 学习里程碑解锁成就
  • 排行榜 - 与其他学习者良性竞争

☁️ 用户系统

  • 账户注册登录 - 数据云端存储
  • 多设备同步 - 随时随地继续学习
  • 个人词库管理 - 创建和订阅词库
  • 学习偏好设置 - 自定义学习体验

🚀 快速开始

环境要求

  • Python 3.9+
  • pip

安装步骤

  1. 克隆项目
git clone https://github.com/yourusername/vocabmaster.git
cd vocabmaster
  1. 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/Mac
#
venv\Scripts\activate  # Windows
  1. 安装依赖
pip install -r requirements.txt
  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的配置
  1. 运行应用
python app.py
  1. 访问应用
打开浏览器访问: http://localhost:5000

⚙️ 配置说明

基础配置

变量 说明 默认值
SECRET_KEY Flask 密钥 随机生成
DATABASE_URL 数据库连接 sqlite:///vocabmaster.db

AI 功能配置

变量 说明 示例
AI_API_KEY AI API 密钥 sk-xxx
AI_API_BASE API 基础URL https://api.openai.com/v1
AI_MODEL 模型名称 gpt-3.5-turbo

支持的 AI 服务:

  • OpenAI (GPT-3.5, GPT-4)
  • Anthropic Claude
  • 其他 OpenAI 兼容 API

可选 API 配置

变量 说明 获取方式
NEWS_API_KEY 新闻 API newsapi.org
YOUDAO_APP_KEY 有道词典 有道智云

📁 项目结构

vocabmaster/
├── app.py              # Flask 主应用
├── api_routes.py       # API 路由
├── services.py         # 外部服务(词典、AI、翻译)
├── requirements.txt    # Python 依赖
├── .env.example        # 环境变量示例
├── .gitignore          # Git 忽略文件
├── templates/          # HTML 模板
│   ├── base.html       # 基础模板(含划词翻译)
│   ├── landing.html    # 着陆页
│   ├── login.html      # 登录页
│   ├── register.html   # 注册页
│   ├── dashboard.html  # 仪表盘
│   ├── study.html      # 学习页面
│   ├── wordbooks.html  # 词库管理
│   ├── stats.html      # 统计页面
│   ├── leaderboard.html # 排行榜
│   └── settings.html   # 设置页面
└── static/             # 静态资源
    ├── css/
    ├── js/
    └── images/

🔧 API 接口

词典 API

  • GET /api/dictionary/lookup?word=xxx - 查询单词
  • GET /api/dictionary/enrich?word=xxx - 获取完整信息
  • POST /api/auto-fetch - 自动获取并保存单词

AI API

  • POST /api/ai/explain - AI 解释单词
  • POST /api/ai/translate - AI 翻译句子
  • POST /api/ai/selection - 划词翻译

学习 API

  • GET /api/study/next - 获取下一个学习单词
  • POST /api/study/rate - 提交评分

统计 API

  • GET /api/stats/overview - 统计概览
  • GET /api/stats/calendar - 学习日历数据
  • GET /api/achievements - 成就列表

📱 使用指南

学习流程

  1. 注册账号 - 创建你的学习账户
  2. 添加单词 - 手动输入或导入词库
  3. 自动获取 - 系统自动获取释义和例句
  4. 开始学习 - 按照系统规划的任务学习
  5. 评价掌握 - 对每个单词评价掌握程度
  6. 定期复习 - 系统智能安排复习时间

评分标准

评分 含义 下次复习
1 (完全忘记) 完全不记得 < 1分钟
2 (有点印象) 需要提示才能想起 1天
3 (想起来了) 稍作思考能想起 3天
4 (非常熟悉) 立即想起 7天+

快捷键

按键 功能
空格 翻转卡片
1-4 评分(翻转后)

🛠️ 开发指南

数据库迁移

# 初始化数据库
flask db init
flask db migrate
flask db upgrade

添加新功能

  1. app.py 中添加数据模型
  2. api_routes.py 中添加 API 路由
  3. templates/ 中添加前端模板

生产部署

# 使用 Gunicorn
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app

# 或使用 Docker
docker build -t vocabmaster .
docker run -p 8000:8000 vocabmaster

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

📄 开源协议

本项目采用 MIT 协议 - 查看 LICENSE 文件了解详情

🙏 致谢


用科学改变记忆,让学习更高效! 🚀

About

词忆 - 智能背单词系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages