Tasks

  1. DB
    1. [✓] All documents need to be stored with their checksum and path.
      • This is so that a file can be associated with a document ID in the DB.
      • Use Digest::MD5.
  2. Automatic phrase extraction
    1. [✓] Process the text of a PDF file with PyTextRank.
    2. [✓] Find the text of phrases inside that PDF file.
    3. [_] Toggle option to highlight all the phrases found on the page.
  3. Card
    1. Contents
      • Front: the question / hint : always shown
      • Back: the answer : shown when card state is flipped
      • Explanation: why? : shown when card state is flipped
      • Priority
      • Tags
      • Document
      • Page
      • Cloze
        1. Cloze regex
          • Need to be able to cover a set of given text offsets.
        2. Overlap types
          • nonoverlapping: Hide all, reveal one
          • overlapping: Hide one, reveal all
          • Hide all, reveal all
  4. Review
    • Sequential
      • Sort by path -> page -> offset
    • Random
      • Random
    • SRS
      • See description of algorithm.

SRS algorithm

GUI

Show / edit card

Review table

Two kinds of review tables:

  • All cards from current document set.
  • All cards in the current review.

Review control

Generate deck: insert cards into the current review.

Current schema

New schema