Skip to content

Latest commit

 

History

History
107 lines (74 loc) · 2.27 KB

File metadata and controls

107 lines (74 loc) · 2.27 KB

TYPE-RUSH ⌨️🔥

A fast-paced browser typing game where you race against a 30-second timer to type as many words as possible. Built with React, TypeScript, Vite, and Tailwind CSS


Features

  • 30-second countdown with a live progress bar
  • Real-time character feedback — green for correct, red for incorrect
  • Live stats tracking — WPM, CPM, Accuracy, and Error Rate
  • Smooth start screen with a 5-second countdown before the game begins
  • End screen summary with full performance breakdown and a replay button

Tech Stack

Tool Purpose
React 18 UI components
TypeScript Type safety
Vite Dev server & bundler
Tailwind CSS Styling

Getting Started

Prerequisites

  • Node.js ≥ 18
  • npm or yarn

Installation

git clone https://github.com/your-username/type-rush.git
cd type-rush
npm install

Run locally

npm run dev

Open http://localhost:5173 in your browser.

Build for production

npm run build

Project Structure

src/
├── components/
│   ├── StartScreen.tsx   # Intro screen with 5s countdown
│   ├── GameScreen.tsx    # Core game logic and state
│   ├── WordDisplay.tsx   # Per-character color feedback
│   ├── Timer.tsx         # Countdown timer with progress bar
│   └── EndScreen.tsx     # Results summary screen
├── App.tsx
└── main.tsx

How It Works

  1. Click Start To Rush on the start screen
  2. A 5-second countdown begins, then the game starts
  3. Type the displayed word and press space (or complete it) to move to the next
  4. When the 30 seconds are up, your stats are shown:
    • Score — total correct words
    • WPM — words per minute
    • CPM — characters per minute (speed)
    • Accuracy — % of correct keystrokes
    • Error Rate — % of incorrect keystrokes

Roadmap

  • Larger and categorized word banks
  • Difficulty modes (Easy / Hard)
  • High score persistence with localStorage
  • Multiplayer mode
  • Custom timer lengths

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.


License

MIT