Typr is a full-stack web application designed for new developers to improve their typing skills. User Authentication, Multiplayer, and Statistics included.

Overview

Typr

Typr is a full-stack web application designed for new developers to improve their typing skills. It includes Javascript, Ruby and Python typing prompts with contextual highlighting using PrismJS. Users can sign up with our Auth0 authentication in order to track user statistics. There is also a Multiplayer mode where users can race, this was implemented with socketIO. This project was built with React, Express, Node, and MongoDB.

Deployment

Try our site here: https://code-typr.netlify.app/ (Please give the heroku backend a few seconds to start up, it is on the free plan)

App in Action

"Logging In" Logging in with Auth0

"Python Practice" WPM, Accuracy %, and Score appear once prompt is complete and are they are saved to mongoDB

"Profile Page" Track Improvements Over Time

"Server Select" 10 Servers to Select, will activate once 4 users have joined (this can be done from 4 windows for testing purposes)

"Multiplayer" Users names will appear over their avatar in multiplayer

Features

  • User Authentication
  • Practice Mode with Javascript, Ruby, and Python Typing Prompts
  • Onscreen Keyboard as Visual Aid
  • Unique Display that Highlights Errrors and Doesn't Require Backspacing
  • Clean UI
  • Syntax Highlighting
  • User Stats and Progression
  • Multiplayer Racing Mode (Websockets)
  • High Scores Page

Installation

If you would like to deploy locally:

clone the project to a local folder
run 'npm install' inside both the client folder and the server folder
run 'npm start' in separate terminals from the server folder and then the client folder
navigate to localhost:3000 to test the app

Contribute

You might also like...

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.

English | ไธญๆ–‡ Introduction DataSphere Studio (DSS for short) is WeDataSphere, a big data platform of WeBank, a self-developed one-stop data application

Jan 2, 2023

The CCF Backstage Plugin is a tool to estimate energy use (kilowatt-hours) and carbon emissions (metric tons CO2e) from public cloud usage that is meant to be consumed as a plugin into a Backstage application

The CCF Backstage Plugin is a tool to estimate energy use (kilowatt-hours) and carbon emissions (metric tons CO2e) from public cloud usage that is meant to be consumed as a plugin into a Backstage application

CCF Backstage Plugin Understand how your cloud usage impacts our environment and what you can do about it. This plugin brings the functionallity of th

Nov 6, 2022

p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs โ€”

p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs โ€”

p5.js Welcome! ๐Ÿ‘‹ ๐Ÿ‘‹๐Ÿฟ๐Ÿ‘‹๐Ÿฝ๐Ÿ‘‹๐Ÿป๐Ÿ‘‹๐Ÿพ๐Ÿ‘‹๐Ÿผ p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for a

Jan 1, 2023

a graph visualization library using web workers and jQuery

arbor.js -------- Arbor is a graph visualization library built with web workers and jQuery. Rather than trying to be an all-encompassing framework, a

Dec 19, 2022

Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.

Dash Dash is the most downloaded, trusted Python framework for building ML & data science web apps. Built on top of Plotly.js, React and Flask, Dash t

Jan 4, 2023

A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.

A damn-sexy, open source real-time dashboard builder for IOT and other web mashups. A free open-source alternative to Geckoboard.

freeboard freeยทboard (noun) *\หˆfrฤ“-หŒbศฏrd* the distance between the waterline and the main deck or weather deck of a ship or between the level of the w

Dec 28, 2022

Chart image and QR code web API

Chart image and QR code web API

QuickChart QuickChart is a service that generates images of charts from a URL. Because these charts are simple images, they are very easy to embed in

Dec 25, 2022

Beautiful and interactive javascript charts for Java-based web applications.

Wicked Charts Beautiful and interactive JavaScript charts for Java-based web applications. Check out the Changelog Check out the Feature Overview with

Aug 23, 2022

A renderer agnostic two-dimensional drawing api for the web.

Two.js A two-dimensional drawing api meant for modern browsers. It is renderer agnostic enabling the same api to render in multiple contexts: webgl, c

Dec 31, 2022
Comments
  • Multiplayer/serve prompt

    Multiplayer/serve prompt

    Client sends websocket messages to ws server when a correct character is typed and when a prompt is complete. API file holds functions to pass to the prompt component. The VSDisplay component will be for displaying the return message from the websocket server. (the message from the websocket server will have how far along each player is and if any players are finished so that we can update the state(s) on VSDisplay.

    opened by CJM1994 0
  • Socketio

    Socketio

    Added a multiplayer component as a starting point and some backend logic for socketio. Also added a client connector hook to create socket connections.

    opened by CJM1994 0
Owner
Connor Mullin
Full Stack Developer
Connor Mullin
A TypeScript library designed to help with making Beat Saber modcharts

Welcome to ReMapper! This is a TypeScript library designed to help with making Beat Saber modcharts. Here are some notable features: Wrappers for Note

Swifter 37 Dec 28, 2022
Mockpay Checkout for developers to mock payment gateway

Mockpay Checkout Mockpay Checkout is a simple js library that allows you to integrate mockpay into your web apps. Checkout the documentation at: https

Goutam B Seervi 25 Nov 26, 2022
Simple yet flexible JavaScript charting for designers & developers

Simple yet flexible JavaScript charting for designers & developers Documentation All the links point to the new version 3 of the lib. Introduction Get

Chart.js 59.4k Jan 10, 2023
A GitHub Action to generate reports that contain all the SSH keys, personal access tokens, GitHub App installations, deploy keys and their respective permissions authorized against a GitHub organization.

A GitHub Action to generate reports that contain all the SSH keys, personal access tokens, GitHub App installations, deploy keys and their respective permissions authorized against a GitHub organization.

Nick Nagel 5 Dec 13, 2022
๐Ÿž๐ŸŽจ Full-featured photo image editor using canvas. It is really easy, and it comes with great filters.

Full featured image editor using HTML5 Canvas. It's easy to use and provides powerful filters. Packages toast-ui.image-editor - Plain JavaScript compo

NHN 5.7k Jan 6, 2023
๐ŸŒ€ The Javacript framework for creating a portal to your data. Perfect for a single dataset or a full catalog.

?? Portal.JS The javascript framework for data portals ?? portal is a framework for rapidly building rich data portal frontends using a modern fronten

Datopian 2k Dec 30, 2022
A web application to ๐Ÿ”inspect your GitHub Profile Stats๐Ÿ“Š in a lucid way. Visualization made easy with Charts๐Ÿ’ก๐Ÿš€

know-your-gitstats A web application to ?? inspect your GitHub Profile Stats ?? in a lucid way. Visualization made easy with Charts ?? ?? . โœ… Features

Shubham Jadhav 46 Oct 15, 2022
CyberGraph is a 3D-graph based, user based social connection explorer

CyberGraph is a 3D-graph based, user based social connection explorer. It has some cool features like 3d node graph, dynamic loading bar, immersive user experience, cyber mode(10-hops friendship network display) and focus mode(aggregated connection display).

CyberConnect 16 Nov 25, 2022
Automatic chart generator from user input using CharGPT.

Chart GPT A platorm for generate chart with ChatGPT ??๏ธ ChatGPT Generator is under development. Features Light/dark mode toggle Live previews Fullscre

Ehsan Ghaffar 6 May 5, 2023
Free Bootstrap 5 Admin and Dashboard Template that comes with all essential dashboard components, elements, charts, graph and application pages. Download now for free and use with personal or commercial projects.

PlainAdmin - Free Bootstrap 5 Dashboard Template PlainAdmin is a free and open-source Bootstrap 5 admin and dashboard template that comes with - all e

PlainAdmin 238 Dec 31, 2022