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.
Name | Github | ||
---|---|---|---|
Samuel Fox | samueljasonfox@gmail.com | ||
Timothy M. Keller | timothy.m.keller@gmail.com | ||
Chomie Usaneerungrueng | chomieu@gmail.com | ||
Rita Zhu | xiaoyz28@uw.edu |
- 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.
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.
The landing page will prompt the user to create or sign in with login credentials.
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.
Next you will be prompted to choose a lyrics file...
...or generate one if there is none present.
Finally, the user moves to the actual session where the play button controls music playback and lyrics are displayed onscreen.
Other users can join this session by entering the session URL, and the site provides functionality to share URLs with other users through email.
- Frontend (user) site
-
- username: radcat
-
- password: password
- Backend API routes
- Socket.io server
Fork our git, and contact the repository owner about pull requests.
No testing suite is designated at this time.
No license is provided for this software