Skip to content

yifu-ding/VocabularyBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

📚 VocabularyBuilder - 基于词源学习的背单词应用

一款基于词源学习的 iOS 英语词汇构建应用,通过词源解释和多阶段练习,帮助用户深度理解和记忆英语单词。 无需登录或联网。

✨ 核心特色

🌱 词源导向的学习方法

  • 词根词源学习:通过理解词根含义,快速掌握大量同源词汇
  • 词源追溯:查看单词的历史演变和语言来源
  • 关联词:展示更多同源词汇

🧠 科学记忆训练系统

采用四阶段渐进式学习法,符合认知科学原理:

  1. 📖 学习阶段:展示单词释义和词源、支持英式/美式发音
  2. ✅ 选择阶段:通过选择题巩固记忆
  3. 💭 背诵阶段:主动回忆,自我评估记忆效果
  4. 📊 总结阶段:查看学习成果

📖 强大的词典功能

  • 快速搜索:支持模糊匹配和历史记录
  • 详细释义:包含定义、音标、例句、同义词等
  • HTML 渲染:精美展示词典内容
  • 离线使用:基于 SQLite 数据库,无需网络

📈 学习追踪与历史

  • 记忆历史:记录所有学过的单词和词根
  • 搜索历史:快速回顾查过的词汇
  • 学习统计:可视化展示学习进度和效果

🎯 主要功能

主要功能总览

1. 每日词根推荐

  • 每天推荐一个词根
  • 显示相关单词列表
  • 一键开始记忆训练
  • 支持手动刷新换取新词根

2. 搜索

  • 实时搜索建议
  • 简洁释义预览
  • 搜索历史记录(支持清空)

3. 单词详情页

多标签页展示:

  • 📝 释义:完整的词义解释、例句
  • 🔗 关联词:同源词、派生词
  • 🌿 词源:词源分析、历史演变、词根

交互功能:

  • 单词发音
  • 记忆练习

4. 四阶段练习系统

练习系统

📖 学习阶段

  • 卡片式展示单词完整信息
  • HTML 富文本渲染词典内容
  • 左右滑动切换单词
  • 支持跳过不需要练习的单词

✅ 选择题阶段

  • 从相关词汇中生成干扰项
  • 即时反馈正确与否
  • 答题统计

💭 背诵阶段

  • 仅显示单词拼写
  • 自我评估:认识/不认识
  • 点击可查看答案

📊 总结阶段

  • 可视化展示学习成果
  • 分类展示掌握情况:
  • 支持重新开始练习

5. 记忆历史管理

记忆历史

  • 按类型分类:单词/词根
  • 时间倒序排列
  • 支持删除和清空
  • 点击可直接查看详情

🛠 技术架构

前端框架

  • SwiftUI:现代化的声明式 UI 框架
  • Combine:响应式数据流管理
  • NavigationStack:灵活的导航系统

数据存储

  • GRDB:Swift 版 SQLite 封装
  • SQLite 数据库:存储词典数据
  • UserDefaults:本地配置和历史记录

主要视图

Views/
├── ContentView.swift                // 主页(搜索、词根推荐)
├── WordDetail/                      // 单词详情模块
│   ├── WordDetailView.swift
│   ├── WordDetailHeaderSection
│   ├── WordDetailDefinitionSection
│   ├── WordDetailEtymologySection
│   └── WordDetailNearSynonymsSection
├── Practice/                        // 练习模块
│   ├── PracticeLoaderView
│   ├── LearningStageView
│   ├── QuizStageView
│   ├── RecallStageView
│   └── SummaryStageView
├── Memory/                          // 记忆历史
│   └── MemoryHistoryView.swift
└── Root/                            // 词根模块
    ├── RootCardView
    ├── RootDetailSection
    └── RootCognatesTreeSection

📦 项目结构

VocabularyBuilder/
├── VocabularyBuilderApp.swift       // 应用入口
├── Models/                          // 数据模型
│   ├── WordEntry.swift              // 单词实体
│   ├── CommonRoot.swift             // 词根实体
│   ├── PracticeSession.swift        // 练习会话
│   └── DictionaryViewModel.swift    // 核心视图模型
├── Views/                           // 界面视图
│   ├── ContentView.swift            // 主页
│   ├── WordDetail/                  // 单词详情
│   ├── Practice/                    // 练习系统
│   ├── Memory/                      // 记忆历史
│   ├── Root/                        // 词根相关
│   ├── Navigation/                  // 导航
│   ├── Components/                  // 通用组件
│   └── HTML/                        // 单词卡片渲染
├── Data/                            // 数据访问层
│   ├── DictionaryRepository.swift   // 数据仓库协议
│   ├── DatabaseDictionaryRepository // SQLite 实现
│   └── DictionaryDatabase.swift     // 数据库连接
├── Services/                        // 服务层
│   └── SpeechService.swift          // 语音服务
├── Bundle/                          // 资源文件
│   ├── merged.sqlite                // 词典数据库
│   └── common_roots.csv             // 常用词根
└── Assets.xcassets/                 // 图片资源

性能优化

  • WebKit 预热:启动时预加载 WebView 进程
  • 延迟加载:按需加载详细内容
  • 数据库索引:优化搜索性能
  • 异步处理:避免主线程阻塞

🚀 安装与运行

系统要求

  • iOS 16.0 或更高版本
  • Xcode 15.0 或更高版本
  • Swift 5.9 或更高版本

依赖项

项目使用 Swift Package Manager 管理依赖:

  • GRDB (>= 6.0):SQLite 数据库访问

运行步骤

  1. 克隆项目
git clone [项目地址]
cd VocabularyBuilder
  1. 打开项目
open VocabularyBuilder.xcodeproj
  1. 安装依赖 Xcode 会自动下载 Swift Package Manager 依赖

  2. 准备数据库 Bundle/merged.sqlite 文件下载路径: Google Drive

  3. 运行应用 选择目标设备或模拟器,点击运行按钮(⌘R)

🔮 未来规划

功能扩展

  • 艾宾浩斯记忆法重复记忆
  • 整理词根演变树

商业计划

  • 获取字典的商业许可

让词源学习变得简单而有趣! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages