SpeedTyping is a competitive typing test targeted for ages 12-21 that provides new vocabulary and compelling stories in an engaging learning enviroment. SpeedTyping utilizes SpringBoot and JPA on the backend and Bootstrap on the frontend.
- Install MySQL on your computer if you haven't already.
https://dev.mysql.com/downloads/mysql/Select the proper download file for your operating system using the dropdown menu. For macOS , make sure to select the (ARM, 64-bit) download. For Intel-based Macs, make sure to select (x84, 64-bit).
- Download Java 21 on your computer if you haven't already.
https://www.oracle.com/java/technologies/downloads/- Clone our GitHub Repository onto your machine.
git clone https://github.com/jackaholy/SpeedTyping- Create a database in MySQL (adjust name, user, and password as needed):
Login to mysql (configure password if not done so already)
mysql -u root -pCreate the database
CREATE DATABASE SpeedTypingDB;
USE SpeedTypingDB;- Source the population file from the project’s root directory:
mysql -u root -p SpeedTypingDB < src/main/resources/levelData/CreateLevels.sqlOr within the MySQL prompt:
SOURCE src/main/resources/levelData/CreateLevels.sql;- Verify the tables and data by running
SELECT * FROM level;There should be 30 rows in the 'level' table.
Now that you have everything installed, you are ready to run our program.
- Navigate to the root directory where your project is stored.
- Run the program through the terminal using the following command:
./gradlew bootrun- Navigate to the browser of your choice and open the following website:
http://localhost:8080/- You're all set, get typing!
- Open up the Terminal Command Prompt within your IDE.
- Run:
./gradlew testAll of the tests created for our program will run and display whether they are successful or not.
In the top level directory you will find the 'externalDocumentation' folder. Within it you will find our plans, gantt chart, ERD, and flowchart.