Skip to content

Typing App built with TypeScript, React, Sass, Node.js, Express, MongoDB, Mongoose, Socket.io | Inspired by Monkeytype | For learning purposes | Updating this project once in a while as I learn more web things. 😀Enjoy

Notifications You must be signed in to change notification settings

LukaKobaidze/typing-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

About The Project

Project image

Built with

  • TypeScript
  • React
  • Sass
  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • Socket.io
  • Google OAuth
  • GitHub OAuth

Description

  • Custom made smooth typing input that displays errors as you type.
  • Different typing modes, such as 'time', 'words', 'quote'.
  • Multiplayer 1v1 mode to play against your friends.
  • Fetches Random quotes using 'quotable' API.
  • Results after typing is done, including WPM, Accuracy, Errors, Interactive Dashboard.
  • User can customize the app to their liking.
  • Various app color themes.
  • User can create account that will be saved on database, including Google OAuth & GitHub OAuth.
  • Personal stats, history and customizations will be saved to the account.

Project image

Getting Started

  1. Clone the repository, and move to the root directory of the project
git clone https://github.com/LukaKobaidze/typing-app

 

  1. Add environment variables

Note

If you only want to run the client, you can skip this step. Authentication will not work unless you add these variables.

For Auth:

server/.env:

MONGODB_CONNECTION=<your-mongodb-connection-string>
JWT_SECRET=<your-jwt-secret>

For Google OAuth:

client/.env:

VITE_GOOGLE_CLIENT_ID=<your-google-client-id>

server/.env:

GOOGLE_CLIENT_ID=<your-google-client-id>
GOOGLE_CLIENT_SECRET=<your-google-client-secret>

For GitHub OAuth:

client/.env:

VITE_GITHUB_CLIENT_ID=<your-github-client-id>

server/.env:

GITHUB_CLIENT_ID=<your-github-client-id>
GITHUB_CLIENT_SECRET=<your-github-client-secret>

 

  1. Install NPM packages (handles both client & server packages)
npm run install-all

 

  1. Run the app locally
npm run dev

Acknowledgments

About

Typing App built with TypeScript, React, Sass, Node.js, Express, MongoDB, Mongoose, Socket.io | Inspired by Monkeytype | For learning purposes | Updating this project once in a while as I learn more web things. 😀Enjoy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages