Code Monkey home page Code Monkey logo

termracer's Introduction

termracer

Practise your typing skills from within your terminal. termracer is inspired by various online typing tutor websites.

The Goal is to type a given paragraph as fast and accurate as possible, termracer will calculate your typing speed with words per minute and accuracy % metrics. You can also view your progress by viewing the past race results.

For each race, You'll be presented a paragraph randomly picked from a predefined pool of paragraphs.

Install

# Download and install latest release
# You could use -o flag to put the termracer binary anywhere that is included in $PATH
    $ go build -o $GOPATH/bin/termracer github.com/jan25/termracer/cmd

# Run application
# if $GOPATH/bin is in $PATH
    $ termracer
# OR use
    $ $GOPATH/bin/termracer

Development

This application uses go modules. So, you could clone this repo under any directory and build/test/run. As a helper we have Makefile in this repo, which will allow to build/test/run with single command.

# Run available tests
$ make test

# Build and Run executable
$ make run

# Build and Run in debug mode
$ make debug

# Builds executable
$ make build

The design/features are written in NOTES.md.

termracer's People

Contributors

jan25 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

goller by1994

termracer's Issues

Fix DATA RACE issues

Use this to troubleshoot go run -race github.com/jan25/termracer/cmd ./cmd/main.go

Define configuration for local storage

If this application is fetched using go get the termracer binary won't be able to pick up paragraph files or read/write to racehistory.csv file. We need to setup a configuration file to define the directory to put such files.

For instance, we could have ~/termracer directory which will be created/initialised on every build. And it could contains all necessary local files required by the application/executable.

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.