Skip to content

Ra3d0r/typing-trainer

Repository files navigation

Typing trainer

Content

Short description

Technologies

Functional

Project Launch

Short description

The web application allows you to practice typing on the keyboard in different modes. Custom mode allows you to add your own text and practice on it. You need to register/login to save the results of metrics. All results of metrics are saved on firebase and you can manage them.

Example of a typing trainer

Technologies

Frontend:

  • TypeScript
  • React
  • React Router
  • Redux Toolkit
  • Tailwind
  • PostCSS
  • Twin.macro
  • Flowbite
  • i18next

Backend:

  • Firebase

Test:

  • Jest
  • testing-library-react

DevOps:

  • CI/CD (Github actions, Vercel)

Bundle:

  • Webpack

Others:

  • Prettier
  • Prettier-sort-imports
  • ESlint

Functional

  1. Displaying pressed keys on the virtual keyboard
  2. Displaying correct and incorrect input on the virtual keyboard and text
  3. Manual deletion of previously written characters
  4. Calculation of input results in real time
  5. Saving the result of text typing after entering the last character in the text for authorized users.
  6. Translate for Russian and English

Text for mode:

  1. EN
  1. RU

Project Launch

Note: Node.js and the npm package manager are required for the project to work. For further actions it is necessary to install them.

  1. Install all packages and dependencies. To do this, enter the command:
npm i
  1. Create a .env.local file and fill in the variables in it according to the .env.example file

  2. Start the build of the project. After installing all the dependencies, you must enter the command:

npm start

After building the project, the server will automatically start with webpack dev server and open the project in the default browser.

  1. Authorization data for testing: