Description
Implement a scientifically-backed spaced repetition system (SM-2 algorithm) to optimize flashcard review schedules. Currently, flashcards are generated but there's no systematic way to track learning progress and schedule reviews.
Steps to Implement
Add SRS Types (types.ts):
Add FlashcardReview interface with fields: cardId, easeFactor, interval, repetitions, nextReviewDate, lastReviewDate
Add ReviewSession interface for tracking review sessions
Create Review Service (services/spacedRepetitionService.ts):
Implement SM-2 algorithm functions: calculateNextReview(), processReviewAnswer()
Add functions: getCardsForReview(), saveReviewProgress(), getReviewStats()
Create Review Page (pages/Review.tsx):
Add review queue UI with card flipping animation
Show ease rating buttons (Again, Hard, Good, Easy)
Display progress and due cards count
Update Navigation (App.tsx):
Add 'review' to ViewState type
Add Review page route and sidebar navigation
Description
Implement a scientifically-backed spaced repetition system (SM-2 algorithm) to optimize flashcard review schedules. Currently, flashcards are generated but there's no systematic way to track learning progress and schedule reviews.
Steps to Implement
Add SRS Types (types.ts):
Add FlashcardReview interface with fields: cardId, easeFactor, interval, repetitions, nextReviewDate, lastReviewDate
Add ReviewSession interface for tracking review sessions
Create Review Service (services/spacedRepetitionService.ts):
Implement SM-2 algorithm functions: calculateNextReview(), processReviewAnswer()
Add functions: getCardsForReview(), saveReviewProgress(), getReviewStats()
Create Review Page (pages/Review.tsx):
Add review queue UI with card flipping animation
Show ease rating buttons (Again, Hard, Good, Easy)
Display progress and due cards count
Update Navigation (App.tsx):
Add 'review' to ViewState type
Add Review page route and sidebar navigation