Written entirely in Python 3.6.x, this customizable GRE flashcard app uses the Kivy library for GUI, and Oxford's REST API to fetch definitions, example sentences, synonyms, and antonyms. Includes features to add new words and create and customize your own stacks.
- Please ensure you are using
python 3.6.x
- Clone this repo to your local machine using https://github.com/SagarKishore-PFM/flash-card-app-py.git
- Create and activate a virtual environment. (Here is how you do it in Anaconda, Virtualenv, Pipenv.)
- Now install all the packages from the
requirements.txt
file
(your-venv)$ pip install -r requirements.txt
- Once your virtual environment is activated and all the required packages are installed, run the file
main.py
in your terminal.
(your-venv)$ python3 ./main.py
-
You should see a few preinstalled databases and an option to create your own. A Database here refers to an instance of the class
FCDataBase
which has a unique name, and a list ofStacks
andWords
. -
FCDataBase
name, as mentioned before, must be unique, and cannot start with numbers or spaces and should not contain special characters (Only spaces and hyphens allowed, case-sensitive). -
For your new
FCDataBase
, you can clone aWord
database (recommended) from existing databases or start clean.Stack
databases will not be copied over. Only the selectedWord
database gets cloned.
-
Each Database contains links to the Stacks List screen and Words List screen.
- Stack List screen allows you to create/practice/edit/delete a
Stack
. Similarly, the Word List screen allows you to add/view/delete aWord
.
- Stack List screen allows you to create/practice/edit/delete a
-
Stack
names, likeFCDataBase
names, must be unique, and cannot start with numbers or spaces and should not contain special characters (Only spaces and hyphens allowed, case-sensitive). -
To practice, click on the chosen
Stack
and click on thePractice Selected Stack
button. Here you can reset the Stack's progress if needed. -
Example practice session...
- Saves progress on exit.
- Caches audio clips, downloaded from the net, for each session. Deletes the cached audio files upon closing the app.
- A search bar to search for
Words
in the Word List screen. - Add Word functionality checks for existing and invalid words.
- Crude UI 😁
- Report bugs and issues here on github.
- There are a few features such as -- adding a timer, tracking and reporting on progress over time, that could be added.
- Pull Requests are always welcome.
- Flash Card App is available under the MIT license. See LICENSE for more information.
- Magoosh GRE Vocabulary Flashcards (on which my app is based).
- Barron's 333 list.