From cde6bf55b8f4c6d97011b8775b1d0018a4a50632 Mon Sep 17 00:00:00 2001 From: creme332 <65414576+creme332@users.noreply.github.com> Date: Sun, 24 Dec 2023 07:25:14 +0400 Subject: [PATCH] update installation instructions, todo, references, broken link --- README.md | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 46c5c7a..8d1ae42 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 ``` @@ -54,7 +68,8 @@ 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 @@ -62,14 +77,12 @@ Click on the `Play` button and start typing when you are ready. As soon as you m - [ ] 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)