Implement a long term exercise class (service) that contains all logic needed for the long term exercise, this should be implemented with the singleton pattern.
There are 7 sections
section
needs repetition after
0
0 days
1
1 day
2
3 days
3
7 days
4
30 days
5
90 days
6
never
Progress is saved in AsycStorage, implement methods for saving, modifying and deleting here and not in AsyncStorageService.
Class fields:
words of each secction (there are 7 secctions in total
for every word we need to save the word, the secction it is currently in, the date when it was added to this secction
Methods that should be implemented:
get number of words that can currently be repeated.
get number of words that can currently be repeated, with a upper bound, so if more than 10 words can be repeated return 10
get words for next exercise (contains either all words that need to be repeated, if the number of these is <= 10 or 10 words that need repetition. Think of a valid algorithm, best would be to take these words in the next exercise that would have needed to be repeated most time ago relative to the time span in their section, e.g. if not all words that need repetition can be repeated in this exercise, because there are more than 10, wordA which is in section 2 and needed repetition 2 days ago and wordB which is in section 3 and needed repetiotion 3 days ago, wordA should be prefered over wordB)
add words to the first section (after a module is finished)
move word to the next section
move word to the previous section
get a list of numbers, with length = 7, which contains the numbers of words in each secction
Add a lot of tests as this feature is going to be really hard to debug.
Stefanie Metzger - 20.2.2023, 14:06:08
Implement a long term exercise class (service) that contains all logic needed for the long term exercise, this should be implemented with the singleton pattern.
There are 7 sections
Progress is saved in AsycStorage, implement methods for saving, modifying and deleting here and not in AsyncStorageService.
Class fields:
Methods that should be implemented:
Add a lot of tests as this feature is going to be really hard to debug.
Environment: - Linked issues: