Giter Site home page Giter Site logo

reciter's Introduction

Reciter

让程序为你接管遗忘曲线,提供一目了然的单词复习周期。

技术栈

Node.js/Browser

  • vuejs

  • koa

debug

使用 vscode 调试,启动 beckend 与 frontend,这两者均会 watch 文件变化,一切修改均会进行热更新。

build

npm run build

start

npm run start

后端

根据艾宾浩斯记忆曲线,我们应该在:5 分钟、30 分钟、12小时、1 天、2 天、4 天、7 天、15 天、1 个月、3 个月、6 个月进行复习。

在顶层,我们应该使用一个人标识,用来区分用户,每个用户都有独立的单词库。

interface {
  _id: ObjectID   // 
  word: string    // 单词
  note: string    // 翻译、例句、笔记等
  startTime: Date // 首次背诵时间
  state: number   // 当前背诵阶段,用来计算下一次背诵时间,在后端代码中保证
  user: string    // 用户名,区分用户
}

前端

最上方要有一搜索功能,用来过滤单词,后端可以用 trie 实现。

最上方右侧有一添加按钮用来添加新单词。

下方一状态栏,显示一共有多少单词,当前有多少单词需要复习。

首次进入应该提示用户输入单词库标识,来加载云端单词数据库,如果从未创建过则创建,若创建过则直接使用。

下面是单词列表。

每个单词主体包含这几个部分:

  • 最左侧是加粗加大的英文

  • 向右是该单词的下一阶段最佳复习时间

  • 最右侧有一按钮用于确认当次复习

  • 点击后展开 note 部分,在展开的部分提供四个按钮

    • 回到上一复习阶段

    • 跳到下一复习阶段

    • 重置该单词的学习状态到最初状态

    • 修改单词信息(word 和 note 部分)

单词应该使用 infinity 滚动的方式显示,排序按照下次最近一次复习时间进行排序。

当我们确认某次复习后,按钮应该在到达下次复习时间之前保持 disable,且视图应该重新排序。

reciter's People

Contributors

drincann avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.