Code Monkey home page Code Monkey logo

jukebox's Introduction

JukeBox App

A viewable, dynamic, interactive song playlist application.

Version 2 Team

  • Bella Tea
  • Candice Lai
  • Harsh Sikka
  • Steve Rodriguez

Legacy Team

  • API: Nick Havens
  • Front-end: Jessica D'Andrea
  • Server: Joey Li / Vasanth Kesavan
  • Database: Joey Li / Vasanth Kesavan
  • Deployment: Nick Havens

Table of Contents

  1. Usage
  2. Requirements
  3. Environment
    1. Installing Dependencies
  4. Team
  5. Contributing

Usage

The JukeBox App allows a user to do the following:

  • Search for songs & add songs to playlist
  • Add a new user
  • Upvote and downvote songs
  • Play a song

Search for songs & add songs to playlist

A user can go to the search page via the navigation menu. Once there, a user can type a song name in the input box and click the search button to see results. The user can select a song from the search results to add to the playlist.

If no username is selected when adding the song, the username associated with the added song will be anonymous

Add a new user

To add a new user, go to the signup page via the navigation menu. Once added, the username should appear in the dropdown menu in the search page.

Upvote and downvote songs

To upvote and downvote songs, click the correct buttons associated with each song on the playlist page. Songs are sorted based on their net vote count. A user can upvote or downvote a song more than once.

Play a song

In order to play a song, the user must be logged in as host. To read more about this, please see [Placeholder]. Once logged in as host, the user should be able to see a button that says Play top song. If clicked, the top voted song will be sent to the player and that song will be removed from the playlist

Logging in as host

For the song player to work you must click on 'Login as Host' and log into Spotify with a premium account. You will remain logged in for the session depending on your browser settings. Spotify Oath is used for host login and the redirect url for the development and production environments must be stored in the developers Spotify API account https://developer.spotify.com/my-applications/#!/applications.

Join a party

Given a unique party code by a host, a guest user may join an already created pizza party playlist to contribute. Contributions can be made with song suggestions as well as upvote and down voting previously suggested songs as themselves or anonymously.

Environment

The project uses a gitignored file called env/credentials.js to supply the Spotify API keys as well as the redirect url and production env variable. Fill in your information to credentials.example.js and remove 'example' from the filename for the API and Webpack environment to function correctly

##Spotify API Documentation *Endpoint reference: https://developer.spotify.com/web-api/endpoint-reference/ *Authorization Code Flow (used for host login and player): https://developer.spotify.com/web-api/authorization-guide/#authorization-code-flow *Client Credentials Flow (used for Spotify search): https://developer.spotify.com/web-api/authorization-guide/#client-credentials-flow *Spotify-web-api-js (used in Playlist component for triggering playback) : https://doxdox.org/jmperez/spotify-web-api-js

Installing Dependencies

From within the root directory:

npm install
npm start

Contributing

See CONTRIBUTING.md for contribution guidelines.

jukebox's People

Contributors

210steverodriguez avatar ctnswb avatar harshsikka avatar isabellatea avatar jdbuhl avatar joeyzaozaoli avatar nphavens avatar vasanthkesavan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.