I was inspired by Quizlet. Since Quizlet is a popular platform for memorizing vocabulary, I wanted to make just that but with the option to encode the study materials you need by summarizing it and reviewing and practicing 10 chosen vocabularies (I made the program only get 10 vocabularies as it isn't too much or too little).

What it does

The program first asks you to type in the topic of the material you are going to be studying. Then, the program uses the topic you typed to use for the header for the following pages. The program will direct you to a page where you can summarize your material to less than 800 words. While doing so, you can also undo, redo, bold, italicize, and clear text. After filling that out, the program will give another window to type in 10 terms and definitions while looking at the summary you filled out just a moment ago. After filling in the 10 terms and definitions, the program will direct you to a page where you have to choose to review, practice, or finish. If you click the Finish button, the program closes. If you click the review button, the program will direct you to a page where the terms are written on the buttons on the left-hand side and displays the definition on the box according to the button you click. If you click the practice button, the program will direct you to a page where you need to type in the terms for the following definitions. After you type it, you’re supposed to click a check button to check if it is the right answer. After reviewing the correct answer, click done to move on to the next question.

How we built it

I built the program using python and an IDE of PyCharm CE with Tkinter as a GUI. For the first page, I just added some pictures, labels, entries, and buttons. I got the entry to put as a header for the next following pages. For the second page, I used labels, buttons, and text. I made the word counter because the word counts should be less than or equal to 800. I also made undo, redo, bold, italicize, and clear text buttons to help people while writing and organizing their material. For the third page, I used labels, buttons, and entries. I got the input for all the entries and used it for the review and practice page. For the third page, I just used labels and buttons to either direct the users to the next window or close the application. For the review page, I used labels and buttons. I primarily used buttons with the written terms so that when the user clicks on them, the beige-colored box shows the definition. For the practice page, I used labels, buttons, and an entry. I randomized the definitions and displayed them and matched them to the respective term by getting the input of the entry.

Challenges we ran into

The challenges I ran into were not being able to navigate through pages and make the questions match will the respective answer (practice page). Because I couldn’t navigate through the pages, I had to make new windows, withdraw the others, and deiconify it if wanting to go back. For matching the questions to the answers, I didn’t know what the problem was until I realized I had to get the input of the entry instead of writing the variable of the entry. I couldn’t really pinpoint that out because of how many variables there are for terms and definitions.

Accomplishments that we're proud of

First and foremost, although this is the second hackathon I joined, this is my first time submitting a project as last time, I couldn’t finish it on time. So, I’m proud that I was able to start and finish a project I could do within the time limit. I’m also proud of getting through the challenges I faced and learning how to code the undo, redo, bold, and italicize buttons as well as the word counter.

What we learned

I learned how to display pictures in python using Tkinter. I also learned how to make the undo, redo, bold, and italicize buttons as well as the word counter. I also learned that I had to use withdraw and deiconify to navigate through the windows instead of destroying it, as destroying it will delete all the hidden variables.

What's next for Learn It!

The ability to customize how many terms and definitions you want to input will be next to Learn It! Also, the results of how many correct and incorrect you got, and the option to choose to either display terms and type definitions or display definitions and type the terms in the practice page is going to be next.

Built With

Share this project: