As a User
I want to see cards I couldn't answer more often than cards I already know, so that I can learn efficiently [1].
[1] Our spaced repetition mode based on Sebastian Leitner's flashcard learning system. Check this article for more information about spaced repetition learning. Later refinements are not excluded!
Description
In this US we will assign each card a level and a timestamp. The level corresponds to the number of times I answered this card correctly. The timestamp remembers when we last tested this card. The quiz mode is adjusted to prefer the cards with the lowest level.
Acceptance criteria
[x] Initially all new created flashcards of a collection are in level 1 and have an undefined timestamp.
[x] If you answer a card correctly, it levels up to the next higher level.
[x] Cards that aren't answered correctly are moved to level 1.
[x] Every time a card is answered (both wrong or correct) the timestamp is set to the current time.
[x] There is a total of 5 levels, whereby reaching the last level results in the card being moved to the collection archive.
[x] When starting a quiz the cards with the lowest level and timestamp are preferred.
[x] Adjust the card creation to include a level property with default value 1.
[x] Adjust the card container to show the level.
[x] Adjust the quizPage to include two buttons.
[x] If the red button is clicked, call editCard with a new level 1 and the current timestamp(Date) and proceed to the next card.
[x] if the green button is clicked, call editCard with the current lvl + 1 or isMastered = true(lvl 5), the current timestamp and proceed to the next card
[x] if no next card is available, show Congrats!-message
Value proposition
As a User I want to see cards I couldn't answer more often than cards I already know, so that I can learn efficiently [1].
[1] Our spaced repetition mode based on Sebastian Leitner's flashcard learning system. Check this article for more information about spaced repetition learning. Later refinements are not excluded!
Description
In this US we will assign each card a level and a timestamp. The level corresponds to the number of times I answered this card correctly. The timestamp remembers when we last tested this card. The quiz mode is adjusted to prefer the cards with the lowest level.
Acceptance criteria
Tasks