Skip to content

DharshiniPujarolla/FlashCard-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🃏 FlashCard App

Python Tkinter Pandas License

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.


✨ Features

  • 🇫🇷 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

🛠️ Tech Stack

Technology Purpose
Python 3 Core language
Tkinter GUI & canvas rendering
Pandas Reading & writing CSV data

⚙️ Installation & Setup

Prerequisites

Steps

# 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

🚀 How to Use

  1. Launch the app — a French word appears on the front of the card
  2. Wait 3 seconds — the card flips automatically to show the English translation
  3. Click ✅ (right button) if you know the word — it won't appear again
  4. Click ❌ (left button) if you don't know it — it stays in your practice list
  5. Your progress is automatically saved and loaded next time you open the app

📁 Project Structure

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

📊 How Progress Tracking Works

  • 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.csv automatically
  • Once all words are mastered, the app resets to the full list

🙏 Credits & Acknowledgements

Built independently as part of Dr. Angela Yu's 100 Days of Code bootcamp — extended with persistent progress tracking and a custom study loop.


📄 License

This project is licensed under the MIT License — feel free to use, modify, and distribute it.

About

A Python Tkinter-based flashcard app for learning French vocabulary with progress tracking and CSV data persistence.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages