Mr. Cai, a student at Westlake University, is facing the TOEFL exam and feeling overwhelmed by the lack of effective English learning resources. Existing resources are limited, filled with advertisements, and lack a comprehensive approach. As his friends, we want to create an interactive English learning software that is tailored to Westlake University students, helping them improve their English skills anytime, anywhere. Our goal is to support Mr. Cai and other students in conquering the challenges of the TOEFL exam while uncovering its true nature.
TOEFL-Modder is built using the most popular PC software development technologies and frameworks:
Electron
: A framework that allows developers to build cross-platform desktop applicationsVue
: A progressive JavaScript framework that simplifies the development of user interfacesVite
: A build tool for web applications that offers fast development and optimized production buildsNaive UI
: A Vue-based UI library that provides a set of customizable components for building desktop applicationsSQLite
: A lightweight, serverless, self-contained, and embeddable database engine
Github: https://github.com/Tesla-SHT/TOEFL-Modder
-
Quick Start
a) Just install our released installation package
-
Used for further development
a) Clone our repository
b) Download Nodejs
c)
npm install
d)
npm run dev
e)
npm run start
(open in another cmd window)
-
Books: This is the central page of our software, in which users could select the vocabulary books that they want to learn by clicking the "+" button in the lower right place of the page. Here we already have four vocabulary books all set. And the user could input the books that they wish to work on. Till now, only csv. files are allowed to be imported with words on column one, explanations on column two and example sentences on column three.
And the click action on each book would direct to the reciting page of each vocabulary. In which users would select the explanation of the word and get a response. Also, there were two more functions including adding the word into the user's collection list (which could be further accessed on the Progress page) and removing the word from the whole book.
-
Progress: Display the learning data and some analysis:
Here you could see the progress that you made after you met our software, including the days you spent on each book, your accuracy in selecting the explanation of the word, and continuous study. And also, the word number that you recite each day.
Collection button will direct to the collected word list. And in that page you can find the words in your collection list, and there also have one subsection of the page for you to review.
-
Setting: Divided into two parts: Study and General
In study section, you could personalize your choice of how many words you want to recite or review. Also, the pronunciation mode, word order and the study order of words could be selected.
In general display section, you could change the display scale and choose the background display mode. Also, the progress data could be cleared out if the user wishes to start again.
-
About: Basic information about our software
For better inter-group communication, we created one notion page for recording the weekly progress. Since different people are in charge of different parts of the work, the potential blocks and bugs of the program are also recorded for more efficient debugging. And also, this notion page enabled us to check each person's contribution to the project. Check this page out by the link below: Link to our journal in Notion
-
How can users upload their own dictionaries?
First, the user should scratch a dictionary from the Internet and transform it into a CSV file.
Second, the first row of the file should be Words, Definitions, Examples, and corresponding data should be listed in three columns.
Finally, click “+” at the lower right of the books page and choose it (remember to place the file under no Chinese path)!
-
What is our future plan for the database?
We can let users sign up for various accounts, and each account will have a set of JSON settings. So the database will manage these and overwrite them using the specified user’s files.
-
What's algorithm of the review words list?
$A_{i}=A_{i-1}\cdot 0.51 +t_{i}\cdot 0.49$ , where$t_{i}$ is the$i_{th}$ result of that word, and the word is added to the review list when$\Delta t>1$ and$A_{i}^{{\Delta t}^{0.3}}<0.5$ , or when$A_{i}<0.5$ , where$\Delta t$ is the time after the most recent learn/review of this word. -
Any comment or advice? Feel free to contact us!