主题
reading_vocab_helper
阅读词汇助手 - 通过拍照识别和间隔重复算法,高效学习阅读中的生词
📚 快速导航
根据您的角色选择合适的入口:
💡 首次访问:建议先阅读 QUICKSTART.md 了解项目概况
核心功能
- 📸 拍照识词 - 拍摄书本或文章,自动识别并过滤生词
- 🎯 智能过滤 - 基于 CEFR 等级,只学习适合你水平的词汇
- 📚 间隔重复 - 使用 SM-2 算法科学复习,长期记忆效果好
- 📊 学习统计 - 可视化追踪学习进度和词汇掌握度
- ☁️ 跨端同步 - 与 Lampio 桌面端共享同一套账号与数据(Supabase),手机上采的词回到电脑上继续读
技术栈
- Flutter - 跨平台移动应用框架
- 支持平台 - 仅支持 iOS 和 Android(不支持 Web/Windows/macOS/Linux)
- Clean Architecture - 整洁架构,代码可维护
- Riverpod - 状态管理
- SQLite - 本地数据库
- OCR - Google ML Kit、百度 OCR
快速开始
环境要求
- Flutter SDK >= 3.10.4
- Dart SDK >= 3.10.4
- iOS / Android 设备或模拟器
安装
bash
# 克隆项目
git clone https://gitee.com/ttfishnet/reading_vocab_helper.git
cd reading_vocab_helper
# 安装依赖
flutter pub get
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入必要的 API 密钥
# 运行应用
flutter run配置
在项目根目录创建 .env 文件(从 .env.example 复制),配置以下环境变量:
bash
# 复制模板文件
cp .env.example .env
# 编辑 .env 文件,填入你的 API 密钥
# 详细配置说明请查看 .env.example 文件重要提醒:
- ⚠️
.env文件包含敏感信息,已被.gitignore排除,不要提交到 Git - ✅ 只有
.env.example会被提交,作为配置模板 - 📚 完整配置指南请参考:
主要环境变量:
env
# Supabase 云端词汇库(可选)
SUPABASE_URL=https://your-project-id.supabase.co
SUPABASE_ANON_KEY=your-anon-key-here
# 百度 OCR API(可选,用于云端 OCR)
BAIDU_OCR_API_KEY=your_api_key
BAIDU_OCR_SECRET_KEY=your_secret_key开发
项目结构
reading_vocab_helper/
├── lib/
│ ├── core/ # 核心层
│ ├── features/ # 功能模块
│ └── shared/ # 共享组件
├── docs/ # 项目文档
├── test/ # 测试
└── scripts/ # 脚本工具常用命令
bash
# 运行应用
flutter run
# 运行测试
flutter test
# 代码分析
flutter analyze
# 格式化代码
dart format .
# 构建应用
flutter build apk # Android
flutter build ios # iOS
flutter build ipa # iOS IPA包文档
核心文档
- 产品与设计
- 开发指南
- 配置说明
- Supabase 配置 - Supabase 设置和测试
- Edge Function 部署 - Edge Function 部署指南
数据库文档
其他
- 变更日志 - 版本变更记录
- 待办池 - 跨会话 backlog(旧 TODO.md 已归档至 backlog-archive.md)
开发路线图
v0.5.0-alpha(当前)
- [x] 拍照识词基础功能
- [x] OCR 文字识别
- [x] CEFR 词汇过滤
- [ ] 词汇笔记本完整功能
- [ ] 翻译集成
- [ ] 间隔重复学习
v1.0.0-beta(计划中)
- 学习统计看板
- CEFR 等级设置
- 阅读来源管理
- 多平台支持完善
查看完整的 产品文档 了解开发路线图
贡献
欢迎贡献!请先查看 开发文档 了解代码规范
许可证
MIT License
联系方式
- 作者: Larry
- Email: larry@example.com
- Gitee: @ttfishnet
注意: 本项目目前处于 Alpha 阶段,功能尚未完善,不建议用于生产环境。