A Python Tkinter-based flashcard application to help you learn French vocabulary. Cards automatically flip after 3 seconds to reveal the English translation, and your progress is saved between sessions so you only practice words you haven't mastered yet.
- 🇫🇷 Displays a random French word on the front of the card
- ⏱️ Automatically flips to reveal the English translation after 3 seconds
- ✅ Mark words you know — they're removed from your study list
- ❌ Keep unknown words in rotation for continued practice
- 💾 Progress is saved to
words_to_learn.csv— picks up right where you left off - 🎨 Clean, minimal GUI built with Tkinter canvas
| Technology | Purpose |
|---|---|
| Python 3 | Core language |
| Tkinter | GUI & canvas rendering |
| Pandas | Reading & writing CSV data |
- Python 3.x installed — Download here
- pip (comes with Python)
# 1. Clone the repository
git clone https://github.com/DharshiniPujarolla/FlashCard-App.git
# 2. Navigate into the project folder
cd FlashCard-App
# 3. Install the required dependency
pip install pandas
# 4. Run the app
python main.py- Launch the app — a French word appears on the front of the card
- Wait 3 seconds — the card flips automatically to show the English translation
- Click ✅ (right button) if you know the word — it won't appear again
- Click ❌ (left button) if you don't know it — it stays in your practice list
- Your progress is automatically saved and loaded next time you open the app
FlashCard-App/
├── main.py # Main application logic
├── data/
│ ├── french_words.csv # Full French-English word dataset
│ └── words_to_learn.csv # Auto-generated: your remaining words to study
└── images/
├── card_front.png # Front of the flashcard (light background)
├── card_back.png # Back of the flashcard (teal background)
├── right.png # ✅ "I know it" button image
└── wrong.png # ❌ "Still learning" button image
- On first launch, the app loads all words from
french_words.csv - When you mark a word as known, it is removed from your list
- The remaining words are saved to
words_to_learn.csv - On every subsequent launch, the app loads from
words_to_learn.csvautomatically - Once all words are mastered, the app resets to the full list
Built independently as part of Dr. Angela Yu's 100 Days of Code bootcamp — extended with persistent progress tracking and a custom study loop.
This project is licensed under the MIT License — feel free to use, modify, and distribute it.