Code Monkey home page Code Monkey logo

reverb's Introduction

Reverb

Reverb uses your most played Spotify songs to quantify your music taste.

Reverb is a web application built to visualize Spotify user and song data. Using Passport.js for Spotify oAuth authentication, Reverb fetches a user's most played songs. A subsequent call to the Spotify API allows for capture of song attribute data, which is visualized on the front-end using Recharts. Built using Express, Sequelize, React, Redux, React-Redux, and Passport, a deployed version of the application can be found at:

http://reverb-music.herokuapp.com/

Installation

To install the project, fork the project to your github and clone a copy onto your local machine. Run npm install to install project dependencies.

Spotify API and oAuth Setup

In order to make API calls to Spotify endpoints, you'll need to create a Spotify developer account and app (https://beta.developer.spotify.com).

To complete oAuth setup:

  • On the Spotify Application develoepr console, you'll be asked to provide a requires input of a redirect URI. For now, enter: http://localhost:8080/auth/spotify/callback.
  • Create a file in your main project folder called "secrets.js". Add the following, updating the first two with the credentials you receive from Spotify:
process.env.SPOTIFY_CLIENT_ID = *your client id here*
process.env.SPOTIFY_CLIENT_SECRET = *your client id here*
process.env.SPOTIFY_CALLBACK = "http://localhost:8080/auth/spotify/callback"

Database setup

You'll need to set up a Postgres database to store users' Spotify data (ids, access tokens, and refresh tokens). If you have postgres installed globally, run the command

createdb reverb

to intialize an empty database.

Initializing a local server

Once you've completed the above, you're ready to sync your database and start a local server. Run npm start-dev.

Authors

Anjali Merchant

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

A huge thanks to Kate Humphrey, John McDonald, and Leigh Steiner for their help in conceptualizing the approach.

reverb's People

Contributors

anjiemerchant avatar

Watchers

James Cloos 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.