A minimalistic typing speed test application combining Monkeytype and TypeRacer features. Built with vanilla JavaScript for smooth performance. Includes time and word-based tests, real-time WPM tracking, 6 themes, and upcoming multiplayer mode for competitive racing.
- Time-Based & Word-Based Tests: Choose between testing yourself based on time (15s, 30s, 60s, 120s) or word count (10, 25, 50, 100 words).
- Real-Time WPM & Accuracy Tracking: Get instant feedback on your typing speed and accuracy as you type.
- Multiple Themes: Customize the look and feel with 6 available themes.
- Clean & Distraction-Free Interface: Focus solely on improving your typing skills without unnecessary distractions.
- Vanilla JavaScript: Built with vanilla JavaScript for smooth and efficient performance.
- Upcoming Multiplayer Mode: Get ready for competitive typing races against other players!
- Web browser (Chrome, Firefox, Safari, etc.)
- A text editor (VSCode, Sublime Text, etc.) - Optional for development purposes
Since TutleType is built with vanilla JavaScript, there's no complex installation process. Simply:
- Clone the repository to your local machine:
git clone https://github.com/ParthG2209/TutleType.git
- Navigate to the project directory:
cd TutleType - Open the
index.htmlfile in your web browser.
Currently, TutleType doesn't have a dedicated API. To use the application:
- Open
index.htmlin your web browser. - Click on the typing area to focus.
- Start typing the displayed text.
- Your WPM and accuracy will be tracked in real-time.
- Use the reset button to start a new test.
TutleType offers several configuration options directly within the application:
- Test Mode: Switch between "Time" and "Words" modes by clicking the respective labels.
- Test Length: Select the desired test length by clicking on the available options (e.g., 15s, 30s, 10 words, 25 words).
- Themes: Change the visual appearance by selecting a different theme from the theme selection menu (Not implemented at the moment).
TutleType/
├── README.md
├── index.html
└── public/
└── css/
├── login.css
├── multiplayer.css
└── styles.css
└── js/
├── app.js
├── login.js
├── multiplayer-engine.js
├── multiplayer-race.js
├── results.js
├── typing-engine.js
└── words.js
├── login.html
├── multiplayer.html
├── results.html
index.html: The main HTML file that loads the application.public/css/: Contains the CSS stylesheets for styling the application.styles.css: Main styling for typing testlogin.css: Styling for the login/authentication featuresmultiplayer.css: Styling specific to multiplayer functionality
public/js/: Contains the JavaScript files that handle the application's logic.app.js: Main application logic.typing-engine.js: Manages the typing test engine.words.js: Provides the words used in the typing tests.login.js: Handles user login/authenticationmultiplayer-engine.js: The backend engine for the multiplayer functionalitymultiplayer-race.js: Handles the multiplayer racesresults.js: Logic for displaying the results of the typing test.
login.html: HTML file for login pagemultiplayer.html: HTML file for multiplayer gameresults.html: HTML file for results display
Contributions are welcome! If you'd like to contribute to TutleType, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your forked repository.
- Submit a pull request to the main repository.
Please ensure your code adheres to the existing code style and includes appropriate comments.
This project has no specified license.
- Inspired by Monkeytype and TypeRacer