Skip to content

Type++ is a competitive MERN-stack type-racing app with social features.

License

Notifications You must be signed in to change notification settings

Thorulfr/type-plus-plus

Repository files navigation

Made by Leithen Crider, Benjamin Holt, Max Humpherys, and Tyler Norman.

Description

Welcome to Type++! Looking to test out your overpriced custom keyboard? Wanna show off how much faster you can type than your buddies? Need to find out your words-per-minute speed for a job application? You’ve come to the right place!

Type++ is a competitive type-racing application that allows you to test your typing speed and compete both globally and with friends. As you play more and improve your speed and accuracy, you'll level up and earn badges to show off your skills.

The entire application – both front- and back-end – was built from the ground up using the below user story, acceptance criteria, APIs, and languages.

User Story

AS A user who wants to test and improve their typing speed and accuracy
I WANT a quick, easy, and reliable way to test and track my typing skills
SO THAT I can benchmark my typing abilities, track my improvement over time, and how I measure up to friends and other competitors

Acceptance Criteria

GIVEN I want to test, track, and compare my typing speed and accuracy
WHEN I visit Type++
THEN I am presented with an option to immediately take a typing test as well as a global leaderboard of speed and accuracy
WHEN I visit Type++ on different devices
THEN Type++ resizes according to several breakpoints to provide an optimal user experience for my device
WHEN I begin a test
THEN I see a countdown timer, letting me prepare to begin typing
WHEN I take a test
THEN I am given a randomly-generated body of text to copy
WHEN I type during a test
THEN I see green- and red-coloring to highlight accuracy and mistakes
WHEN I complete a test
THEN I am given an overview of my results
WHEN I open the menu
THEN I am shown a context-sensitive list of navigation options
WHEN I create an account
THEN my account information and credentials are stored in a server-side database
WHEN I log out
THEN registered-user-specific features are disabled
WHEN I am logged in
THEN I can see my badge progress as well as my highest typing scores on the homepage
WHEN I view the leaderboards
THEN I can navigate between sub-leaderboards showing global, weekly, and friend scores as well as global number of games played
WHEN I view badges
THEN I can see which badges I've earned and my progress on yet-to-be-earned badges
WHEN I open my dashboard
THEN I can see and edit my profile (including my profile picture), view my added friends, and see my score history in chart form
WHEN I view another user's profile
THEN I can add or remove them as a friend as well as see their score history
WHEN I click the sun or moon icons in the navbar
THEN I toggle between light and dark modes
WHEN I choose to delete my account
THEN my account and associated information is deleted

Built With

JavaScript HTML5 CSS3 Git NodeJS NPM Express.js MongoDB React React Router Webpack GraphQL Apollo GraphQL JWT TailwindCSS Markdown Visual Studio Code Chart.js Heroku Trello

Deployed Application and Screenshots

https://typeplusplus.herokuapp.com/

Typing Test

Typing test screenshot

User Dashboard

User dashboard screenshot

License

MIT License

Copyright (c) [2022] [Type++]

Permission is hereby granted, free of charge, to any person obtaining a copy > of this software and associated documentation files (the "Software"), to deal > in the Software without restriction, including without limitation the rights > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell > copies of the Software, and to permit persons to whom the Software is > furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contributing:

Fork a copy of the repo and have fun! Feel free to add pull requests for any rad features you develop.

Questions

Feel free to contact any of us via our respective GitHub pages!

About

Type++ is a competitive MERN-stack type-racing app with social features.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published