Skip to content
BorisPlatonPublic

About

TUI for training typing speed.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

Speedtype

TUI for training typing speed.

Table of Contents

What is Speedtype?

  • Configure your text training with various settings: language, time, words length, etc.


  • Practice your typing with a selected configuration within a specific time range.


  • Review the mistakes made, statistics, and your speed across the typing session.

Install & Update

Install speedtype with:

curl -fsSL https://raw.githubusercontent.com/BorisPlaton/speedtype/refs/heads/main/speedtype/install.sh | sh

After installation, run:

speedtype

To update speedtype, run the same command as for installation.

Development

This section is intended only for developing the Speedtype. If you only want to install the application, go to the Install & Update section.

Prerequisites

Components

Speedtype consists of several parts:

  • speedtype — the TUI written in Python. Think of this as a frontend that runs in the user's terminal.
  • zeus — the backend application handling text and typing configuration logic.

Depending on which project you work on, the initialization may differ. The common step across all of them is to pull this repository :)

Start developing

speedtype:

cd speedtype
just init

zeus:

cd zeus
just init

Each component contains a justfile with common commands that help during development. You can see them all by running just inside the component directory, or just help.

Development conventions

Developing:

  1. Checkout from the main a new branch with the following name <feature/bugfix/task>/<short description>.
    1. How to choose what to specify: feature, bugfix or task:
      • feature - adds a new functionality to the end users - it is what they will see when Speedtype is launched.
      • bugfix - fixing the bug that occurs in the Speedtype.
      • task - anything else: updating README, adding new tests, configuring linters, etc.
  2. Do some changes...
  3. Push the branch to the origin.
  4. Create PR.

Pull requests:

  • Title must follow the next structure <feature/bugfix/task>: <short description>.
  • PR's body must contain the following sections.
    • What was done - description of what was changed/added/removed.
    • Issues - link to the issue which will be resolved after PR is merged.
    • Attachments (optional) - contains the additional attachments: photo, videos, etc.
  • Add appropriate labels.
  • PRs are merged into main using the squash and merge strategy.
  • After the PR is merged, the branch will be deleted automatically.

About

TUI for training typing speed.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages