<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Java - Tag - Andrews Website</title><link>https://andrew.com/tags/java/</link><description>Java - Tag - Andrews Website</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 06 May 2026 15:49:50 -0600</lastBuildDate><atom:link href="https://andrew.com/tags/java/" rel="self" type="application/rss+xml"/><item><title>SpeedTyping: A Spring Boot Typing Test</title><link>https://andrew.com/posts/speedtyping/</link><pubDate>Wed, 06 May 2026 15:49:50 -0600</pubDate><author>xxxx</author><guid>https://andrew.com/posts/speedtyping/</guid><description><![CDATA[<h1 id="speedtyping-a-spring-boot-typing-test">SpeedTyping: A Spring Boot Typing Test</h1>
<p>Source: <a href="https://github.com/jackaholy/SpeedTyping" target="_blank" rel="noopener noreffer ">github.com/jackaholy/SpeedTyping</a></p>
<h2 id="why">Why?</h2>
<p>A team project for a software engineering course. The goal was to ship something end-to-end (backend, database, frontend) using Spring Boot and JPA.</p>
<p>The product side was a typing test aimed at younger learners: pick a difficulty, type the passage, get a WPM score, land on a leaderboard.</p>
<h2 id="what">What?</h2>
<p>A Spring Boot web app backed by MySQL via JPA. Three controllers handle the home/leaderboard view, the typing page, and score submission. Levels are seeded from a SQL file with thirty short passages tagged EASY, MEDIUM, or HARD. Vanilla JS on the frontend runs the timer, colors characters as you type, and auto-submits when the passage is finished.</p>]]></description></item></channel></rss>