An awesome song-discovery and playlist-generator web application!
View Demo
·
Report Bug
·
Request Feature
Sounder-app is a full-stack web application that uses the Spotify-Web-API to provide song recomendations based on the user's liked songs library.
With an intuitive flow and a tinder-like interface, the user can hear new track recomendations and personalize it by liking or disliking it. Additionally, the user is able to add all their liked songs to a new playlist and listen in their Spotify account.
This project can be run on a local server or deployed to heroku or other platforms. To successfully run it locally, you will need to install node.js, npm and mongodb in your machine and set up some environment variables:
- Register an application in Spotify and get a client_ID and a client_secret at https://developer.spotify.com
- Add as redirect uris both http://localhost:PORT/auth/spotify/callback (for development) and <production_domain>/auth/spotify/callback (for deploy).
- Clone the repo
git clone https:://github.com/pedrochiossi/sounder-app.git
- Install NPM packages
npm install
or
yarn
- Create a
.env
file and enter your spotify client ID and Client Secret, Callback URL as:
APPKEY='ENTER YOUR CLIENT_ID'
APPSECRET='ENTER YOUR CLIENT_SECRET'
CALLBACKURI='ENTER SPOTIFY CALLBACK URL FOR AUTH'
- Enter a PORT and a mongodb URI in
.env
as:
PORT=8888
MONGODB_URI=mongodb://localhost/sounderApp
CLIENT_URL=http://localhost:3000
- On development, run
npm run dev
oryarn dev
. - On production, make sure you build react with
cd client && yarn build
- and run
npm start
oryarn start
.
- Click on the image to play or pause the 30s audio preview
- Like or dislike it to fetch a new song
- You can listen all your liked tracks again and add them to a new playlist