Flashcard Study App(Started on Valentine's day 2026)
A command-line flashcard application with spaced repetition for effective studying.
Features
- Create custom flashcard decks
- Add cards with questions and answers
- Spaced repetition algorithm (cards reviewed at increasing intervals)
- Save/load decks to JSON files
- Track review progress
Installation
-
Clone this repo: bash git clone https://github.com/APK-hanal/Flashcard.git cd Flashcard
-
Run the app: bash python main.py
Usage
Main Menu
- Create new deck - Start a new flashcard deck
- Add card to deck - Add question/answer pairs
- Study deck - Review cards that are due
- Save deck - Save to JSON file
- Load deck - Load previously saved deck
- Exit - Quit the app
Spaced Repetition When studying, rate each card:
- 1 (Hard) - Review again in 1 day
- 2 (Medium) - Review again in 3 days
- 3 (Easy) - Review again in 7 days
Cards you know well appear less frequently over time.
Example Workflow
- Create deck: "Python Basics"
- Add cards:
- "What is a list?" → "A mutable sequence"
- "What is a tuple?" → "An immutable sequence"
- Study the cards
- Save as "python_basics"
- Come back tomorrow, load "python_basics", study again
What I Learned
This was my first object-oriented programming project. I learned:
- Classes and objects in Python
- File I/O and JSON serialization
- DateTime manipulation
- Building a complete CLI application
- Git and GitHub workflow
Future Improvements
- [] Edit/delete cards
- [] Statistics (cards mastered, study streaks)
- [] Import cards from CSV
- [] Multiple difficulty levels
- [] GUI version