Rooch Anki 是一个基于 Rooch 的仿 Anki Web App,利用 Rooch Object 定义后端数据结构,利用 Rooch Session 得到接近 Web2 应用的体验。
Anki 是一个开源的记忆卡片学习应用,即使你没有用过,也可能在其他背单词软件中见过它的影子。它模拟真实抽认卡片的学习方式,每张卡片都有正面和背面,正面是问题,背面是答案。用户可以根据自己的熟悉程度选择卡片的状态,系统会根据用户的选择调整下次复习的时间。
在 Anki 的记忆算法中,卡片有多种状态:
- 新卡片(New)
- 学习中(Learning)
- 复习中(Review)
- 重新学习(Relearning)
为了简化实现,Rooch Anki 第一个版本中只实现了 Review 状态,模拟了最核心的 Anki 算法:间隔重复的简单版。每天用户会得到当天需要复习的卡片,用户自己选择熟悉程度,系统会根据用户的选择调整下次复习的时间。
卡组,一个卡组包含多张卡片(Card)。
卡片,一个卡片包含正面(Front)和背面(Back)。卡片带有下面三个核心参数:
- 容易程度(Ease Factor):数值越高,表示卡片越熟悉。
- 复习间隔(Interval):表示卡片下次复习的开始日期距离今天的天数。
- 下次复习的开始日期(Due Date):只有现在的日期在 Due Date 之后,开始学习时卡片才会进入复习列表。
卡片在复习时,用户需要选择熟悉程度,熟悉程度有 4 个等级:
- 完全不熟悉(Again)
- 有点熟悉(Hard)
- 一般熟悉(Good)
- 很熟悉(Easy)
选择不同的熟悉程度,会影响卡片的容易程度(Ease Factor)和复习间隔(Interval)。
- 简化版 Anki 间隔重复算法
- 第一版 Anki Web 界面
- 完善 Anki 的间隔重复算法
- 支持更多卡片类型
- 新增 NFT 勋章,用户连续学习一定天数可以领取对应勋章,如“连续学习 7 天勋章”、“学习天数年度 Top 1%勋章”
- 支持用户自定义卡片样式
default.mp4
default.mp4
点击 Deck 名称可以进入 Deck 详情页,看到 Deck 下面所有卡片的状态和参数,包括:
- 正面(Front)
- 背面(Back)
- 复习间隔(Interval)
- 已经复习了几次(Review Count)
- 容易程度(Ease Factor)
- 下次复习的开始日期(Due Date)
- 创建时间(Created At)
Deck.mp4
当你连接钱包之后,连接钱包按钮会变成创建 Session 按钮。如果你在连接钱包后还没创建 Session 就试图操作 Card 和 Deck,系统会引导你创建 Session。