Skip to content

Latest commit

 

History

History
86 lines (65 loc) · 3.97 KB

README.md

File metadata and controls

86 lines (65 loc) · 3.97 KB

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 Cloudinary storage for 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