Skip to content

Nojaid-Ad/TypingSpeedTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Typing Speed Test

A modern Typing Speed Test web application built with Vanilla JavaScript, following a clean MVC architecture.
The project focuses on smooth UI/UX, real-time feedback, and accurate typing statistics like Score and WPM.

This project is fully static (no database), fast, and perfect for deployment on GitHub Pages.


✨ Features

  • 60-second timer (starts on first key press)
  • ⌨️ Real-time typing feedback
    • ✅ Green letters → correct
    • ❌ Red letters → incorrect
  • 🔄 Backspace support (resets letter state correctly)
  • 📊 Live score tracking
  • 🚀 WPM calculation (Words Per Minute)
  • 🔊 Optional typing sound effect
  • 🔁 Restart button
  • 🎨 Smooth animated gradient background
  • 📱 Fully responsive design
  • 🧩 Clean MVC file structure

🧱 Architecture (MVC)

This project follows the Model – View – Controller pattern:

  • Model → Handles word generation logic
  • View → Handles DOM updates and UI rendering
  • Controller → Handles game logic and user input
  • Main → Application entry point

This structure keeps the code clean, scalable, and easy to maintain.


📁 File Structure

typing-speed-test/
│
├── index.html
│
├── assets/
│ ├── css/
│ │ └── style.css
│ │
│ └── sounds/
│ └── type.mp3
│
├── js/
│ ├── main.js
│ │
│ ├── controller/
│ │ └── appController.js
│ │
│ ├── model/
│ │ └── wordsModel.js
│ │
│ └── view/
│ └── uiView.js
│
└── README.md

🛠 Technologies Used

  • HTML5
  • CSS3
    • Flexbox
    • Animations
    • Gradient backgrounds
  • JavaScript (ES Modules)
  • Font Awesome (icons)
  • Google Fonts
    • Inter
    • JetBrains Mono

📊 How WPM Is Calculated

WPM = (Correct Characters ÷ 5) ÷ Minutes

This is the standard typing test formula used across professional platforms.


🚀 How to Run

  1. Clone or download the project
  2. Open index.html in your browser
    (or deploy directly to GitHub Pages)

No build tools. No dependencies. Just open and type.


👨‍💻 Developer

Developed by:
Nojaid Abdullah Issa


📜 License

All rights reserved ©
This project is for learning, showcasing skills, and portfolio use.

About

This website developed by Nojaid-Ad

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors