Skip to content

Commit

Permalink
update installation instructions, todo, references, broken link
Browse files Browse the repository at this point in the history
  • Loading branch information
creme332 committed Dec 24, 2023
1 parent 102e5ba commit cde6bf5
Showing 1 changed file with 29 additions and 16 deletions.
45 changes: 29 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@

A minimal typing test built with Java.

![GIF of typing test](tizc.gif)
![GIF of typing test](assets/tizc.gif)

## Features
- Live errors, wpm, and accuracy displays
- Adjustable difficulty
- Typing sound effect
- Detailed statistics with a wpm chart after each test
- Detailed statistics with chart after each test
- Model-View-Controller pattern
- Tested with JUnit
- JavaDoc documentation
Expand All @@ -22,26 +22,40 @@ A minimal typing test built with Java.

## Installation

There are two ways to install this project and both ways **requires [Java JDK 11+](https://www.oracle.com/java/technologies/downloads/)**. The easiest way to run this project is by using Method 1. Method 2 is recommended if you plan on making changes to the application.

### Method 1
> 🔴 **Requirement**: You must have Java JDK 11+ installed.

1. Download JAR file from the latest release.
2. Navigate to the directory where your JAR is found.
3. Run the JAR file:
1. Download jar file from the latest release.
2. Navigate to the directory where your jar is found.
3. Run the jar file:
```bash
java -jar tizc.jar
java -jar tizc-0.jar
```
### Method 2
> 🔴 **Requirement**: You must have Maven installed.
> 🔴 **Additional requirements**: You must have Git and Maven installed.

Download the latest release of the project the run `src/main/java/com/github/creme332/App.java` in an IDE.
Clone repository:
```bash
git clone git@github.com:creme332/tizc.git
```
Navigate to the root directory of the project:
```bash
cd tizc
```
Install dependencies:
```bash
mvn clean install
```
Run `src/main/java/com/github/creme332/App.java` in an IDE.

## Update jar file
#### Useful commands
To create a jar file:
```bash
mvn clean compile assembly:single
```
## Code coverage
To generate jacoco report:

To generate jacoco code coverage report:
```bash
mvn jacoco:prepare-agent test install jacoco:report
```
Expand All @@ -54,22 +68,21 @@ Click on the `Play` button and start typing when you are ready. As soon as you m
> 🟢 **Tip**: Press `Tab` to restart/reset test at any time. The timer only starts when you start typing.

## To-do
- [ ] when game ends in death mode, wait 2s before showing game over screen
- [ ] In death mode, wait 2s before showing game over screen
- [ ] Add more tests including UI tests
- [ ] Refactor PlayScreen by splitting view into subviews
- [ ] Connect to mysql database
- [ ] Create a dynamic scoreboard
- [ ] Save high score
- [ ] Add new features
- [ ] Add time limit and cancel tests longer than this limit
- [ ] Track worst keys typed
- [ ] Support for capital letters, punctuation, numbers.
- [ ] Support capital letters, punctuation, numbers.
- [ ] Use JPackage to convert .jar to .exe
- [ ] Write tests for UI
- [ ] [Make UI responsive](https://www.youtube.com/watch?v=ZJsjlucSoXM&ab_channel=SIMPLECODE)

## References
- List of english words in `words.txt`: https://www.ef.com/wwen/english-resources/english-vocabulary/top-1000-words/
- Font from [Google Fonts](https://fonts.google.com/specimen/Poppins)
- Icons from [Flaticon](https://www.flaticon.com/free-icons/)
- [Passive View MVC Pattern](https://martinfowler.com/eaaDev/PassiveScreen.html)

0 comments on commit cde6bf5

Please sign in to comment.