Giter VIP home page Giter VIP logo

toefl-modder's Introduction

TOEFL-Modder

Background

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.

Software Design

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 applications
  • Vue : A progressive JavaScript framework that simplifies the development of user interfaces
  • Vite : A build tool for web applications that offers fast development and optimized production builds
  • Naive UI : A Vue-based UI library that provides a set of customizable components for building desktop applications
  • SQLite : A lightweight, serverless, self-contained, and embeddable database engine

Requirements

Github: https://github.com/Tesla-SHT/TOEFL-Modder

  1. Quick Start

    a) Just install our released installation package

  2. 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)

Description

  1. 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.

    Books

    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.

    Recite Recite
  2. 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.

    Progress

    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.

    Collection Collection
  3. 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.

    Seting
  4. About: Basic information about our software

    About

Weekly Journal

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

Tips

  1. 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)!

  2. 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.

  3. 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.

  4. Any comment or advice? Feel free to contact us!

toefl-modder's People

Contributors

tesla-sht avatar fswd-fswd avatar 6c-c6 avatar shuoyihu avatar yemaster avatar

Stargazers

Yiffyi Jia avatar  avatar Rui-Hao Bi avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.