Skip to content

zhaomh1998/FightMem

Repository files navigation

Project FightMem

Fight towards a permanent memory!

A smart, customized Ebbinghaus Quizzing / Flash Cards App built with PyQt5.

Learn Page Ebbinghaus Statistics Table

Frontend designed to work for memorizing words specifically but could be easily modified.

Backend powered by Ebisu. In the current version it contains two Ebisu lists:

  • Newbie List New entres just learned with needs to be reviewed within minutes
  • Eb List Learned entries to be reviewed in longer time periods

The two lists has differently turned Ebisu parameters to serve their purpose. Refer to Ebisu Documentation for the parameters.

An entry will first get into Newbie List and being tested very frequently, until enough correct quiz results, during when it will be transferred into Eb List for longer quizzing intervals in order to achieve long time memory.

Run

First make the knowledge file -- essentially a Pandas DataFrame. pdf2knowledge.py serves this purpose for the document that the developer uses.

First install required packages,

pip install -r requirements.txt

If you want to use Google Sheet sync functionality, set up according to df2gspread documentation

To run the GUI,

python main.py

Todo List

  • Function Key with left click Yes, right click No
  • User configurable parameters
  • Customized mark for entries to be displayed before solution
  • Auto backup database at startup
  • Trash can Page
  • Explore / Table Review Mode (especially adjacent knowledge)
  • Eb / Newbie / Star / Triangle only quiz-mode
  • TableView hide solution button
  • TableView fast review mode
  • Google sheet sync
  • Handle Ebisu assertion error (maybe reset the word?)
  • Different way to present multiple new knowledge entry (table?)
  • No more quiz today for a word (Bury)
  • Word count more details
  • HP Bar for fast recall training
  • Half the half-life (Hard -- mouse middle button on Fn)
  • Automatic TTS (Text-to-speech)
  • Today wrong table
  • ToNewbie table button (to start over)
  • Undo last action
  • Too much consecutive No should downgrade Eb to Newbie
  • Search functionality for each table
  • Support cloud backup db (maybe google drive?)

About

Personalized Ebbinghaus quizzing app built with PyQt5

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors