Skip to content

TypeRush is an engaging typing game that challenges players to improve their typing speed and accuracy through fun and interactive gameplay.

License

Notifications You must be signed in to change notification settings

heli-toon/typerush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ TypeRush Typing Test Web App

A beautiful, interactive typing test application with multiple modes, games, and themes. Built with Flask backend and modern web technologies.

โœจ Features

๐ŸŽฏ Typing Modes

  • Standard Typing Test: Practice with random texts and track your WPM and accuracy
  • HTML Practice Mode: Improve your coding speed with HTML snippets
  • Real-time Stats: Live WPM, accuracy, and timer tracking

๐ŸŽฎ Mini Games

  • Word Race: Race against the clock to type as many words as possible
  • Typing Shooter: Shoot falling words by typing them correctly

๐ŸŽจ Customization

  • 4 Beautiful Themes: Dark, Blue, and Light
  • Theme Persistence: Your theme choice is saved automatically
  • Responsive Design: Works perfectly on all devices

๐Ÿ“Š Stats

  • List of relevant stats

โš™๏ธ Content Management

  • Dynamic Content: Add/edit typing texts and HTML snippets from the UI
  • No File Editing: Update content directly in the browser
  • Persistent Storage: Changes are saved to JSON files

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.7 or higher
  • Flask

Installation & Running

  1. Clone or download this project

  2. Install Flask (if not already installed):

python -m pip install flask
  1. Run the application:
python app.py
  1. Automatic Launch: The app will automatically:
    • Find an available port (starting from 5000)
    • Launch in your default browser
    • Display the URL in the terminal

๐Ÿ“ฑ Usage

Getting Started

  1. Choose Your Theme: Select from 3 beautiful themes in the top-right corner
  2. Pick a Mode: Use the navigation tabs to switch between different typing modes
  3. Start Typing: Click "Start Test" and begin typing!

Typing Test Mode

  • Click "๐Ÿš€ Start Test" to begin
  • Type the displayed text as accurately as possible
  • Watch your WPM and accuracy update in real-time
  • Use "๐Ÿ“„ New Text" to get a different text

HTML Practice Mode

  • Perfect for developers wanting to improve coding speed
  • Practice with real HTML snippets
  • Same timing and accuracy tracking as the standard test

Word Race Game

  • 30-second challenge to type as many words as possible
  • Press Enter after each word
  • Score points based on word length

Typing Shooter Game

  • Type falling words to "shoot" them before they hit the bottom
  • 3 lives to start with
  • Score points for each successful hit

Content Management

  • Go to "โš™๏ธ Manage Content" tab
  • Add your own typing texts (one per line)
  • Add your own HTML snippets (one per line)
  • Click "๐Ÿ’พ Save" to update the content
  • Changes take effect immediately

๐ŸŽจ Themes

  • ๐ŸŒ™ Dark: Classic dark theme for comfortable typing
  • ๐Ÿ’™ Blue: Cool blue theme for focus
  • โ˜€๏ธ Light: Clean light theme for day use

๐Ÿ“ฆ Packaging for Distribution

This app is designed to work with PyInstaller for standalone distribution:

# Install PyInstaller
python -m pip install pyinstaller

# Create executable (run from project directory)
pyinstaller --onefile --windowed --add-data "templates;templates" --add-data "static;static" --icon "logo.ico" app.py

๐Ÿ› ๏ธ Technical Details

Backend

  • Flask: Lightweight Python web framework
  • Auto Port Detection: Finds available ports automatically
  • JSON Storage: Simple file-based content storage
  • RESTful API: Clean API endpoints for content management

Frontend

  • Vanilla JavaScript: No heavy frameworks, just clean JS
  • CSS3: Modern styling with animations and transitions
  • Responsive Design: Mobile-first approach
  • Local Storage: Theme preferences and scores saved locally

Project Structure

โ”œโ”€โ”€ app.py                 # Flask backend
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html        # Main HTML template
โ”œโ”€โ”€ static/
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ””โ”€โ”€ styles.css    # All styles and themes
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ””โ”€โ”€ script.js     # Application logic
โ”‚   โ””โ”€โ”€ data/
โ”‚       โ”œโ”€โ”€ typing-texts.json    # Typing test texts
โ”‚       โ””โ”€โ”€ html-snippets.json   # HTML practice snippets
โ””โ”€โ”€ README.md

๐ŸŽฏ Pro Tips

  1. Use all 10 fingers for maximum typing speed
  2. Focus on accuracy first, speed will follow
  3. Take regular breaks to avoid strain
  4. Practice different types of content using the content manager
  5. Try all themes to find what works best for you
  6. Play the games to make practice more engaging

๐Ÿ› Troubleshooting

App won't start?

  • Make sure Python and Flask are installed
  • Check if the port is available
  • Try running with python -m flask run

Browser doesn't open automatically?

  • Check the terminal for the URL
  • Manually navigate to http://127.0.0.1:5000 (or the displayed port)

Content not saving?

  • Check file permissions in the project directory
  • Ensure the static/data/ folder exists

๐Ÿค Contributing

Feel free to enhance this app! Some ideas:

  • Add more typing games
  • Implement user accounts and statistics
  • Add sound effects and animations
  • Create more themes
  • Add difficulty levels

๐Ÿ“„ License

This project is open source and available under the MIT License.


Happy Typing! ๐ŸŽ‰

Made with โค๏ธ for typing enthusiasts everywhere!

About

TypeRush is an engaging typing game that challenges players to improve their typing speed and accuracy through fun and interactive gameplay.

Resources

License

Stars

Watchers

Forks

Packages

No packages published