Skip to content

A karaoke rhythm game with live session for multiple users, customizable lyrics timing, and 3D elements. Winner of the Best Functionality award for the University of Washington's Winter 2020/21 Coding Bootcamp.

Notifications You must be signed in to change notification settings

sjfcodes/RadCaTS-Karaoke

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RadCaTS Karaoke

Table of Contents

  1. Description
  2. Authors
  3. Technologies
  4. Installation
  5. Usage
  6. Deployed
  7. Contributing
  8. Tests
  9. License

Description

A full-featured social karaoke app that dynamically loads content using the YouTube Music API, allows for custom lyric file generation, provides a hub for group sessions, and incorporates 3D elements. Built for the University of Washington's Winter 2020/21 Coding Bootcamp.

Authors

Name Email Github LinkedIn
Samuel Fox samueljasonfox@gmail.com Github LinkedIn
Timothy M. Keller timothy.m.keller@gmail.com Github LinkedIn
Chomie Usaneerungrueng chomieu@gmail.com Github LinkedIn
Rita Zhu xiaoyz28@uw.edu Github LinkedIn

Technologies

javascript css html

Notable Dependencies

  • Axios: For querying the API backend.
  • Express: Runs the group session server.
  • jDataView: Simplifies binary file reading for audio signal processing.
  • Materialize: Front-end CSS framework.
  • Moment: For date and time objects.
  • React: Front-end framework/library
  • React Speech Recognition: Speech recognition API for scoring singer accuracy.
  • React Three Fiber: A rendering library to simplify React integration with 3D elements built with Three.js.
  • RXJS: Provides async functionality for the useMousePosition utility.
  • Three: NPM package for Three.js, a 3D graphics library for WebGL.

Installation

This is the frontend repository. Clone from git into your chosen directory and install dependencies with npm i. Frontend, backend, and session server are located in separate repositories and should be run on separate servers. The backend requires a local MongoDB installation. All can be run with npm start.

Usage

The landing page will prompt the user to create or sign in with login credentials.

screenshot1

Next you will be prompted to find a song. This page searches our db for formatted matches to the user input, then loads it or attempts to download it if not there.

screenshot2

Next you will be prompted to choose a lyrics file...

screenshot3

...or generate one if there is none present.

screenshot4

Finally, the user moves to the actual session where the play button controls music playback and lyrics are displayed onscreen.

screenshot5

Other users can join this session by entering the session URL, and the site provides functionality to share URLs with other users through email.

Deployed

Contributing

Fork our git, and contact the repository owner about pull requests.

Tests

No testing suite is designated at this time.

License

No license is provided for this software

About

A karaoke rhythm game with live session for multiple users, customizable lyrics timing, and 3D elements. Winner of the Best Functionality award for the University of Washington's Winter 2020/21 Coding Bootcamp.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.3%
  • CSS 11.0%
  • HTML 2.7%