GithubHelp home page GithubHelp logo

cheshire137 / spotty-features Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 4.0 1.18 MB

Show trends about your music listening habits over time. Create playlists from a given seed and specified audio features.

License: MIT License

JavaScript 94.48% HTML 0.57% CSS 4.95%
spotify spotify-api music react audio-features recharts bulma-css playlist-generator jest-tests

spotty-features's Introduction

Spotty Features

Show trends about your music listening habits over time using different audio features like acousticness, danceability, and energy, based on the tracks you save to your Spotify library. Also generate playlists like a given song or artist, but with the specified audio features.

Screenshot of trends

Screenshot of adjusting audio features

Screenshot of creating a playlist

How to Develop

You will need Homebrew installed in macOS.

Create a Spotify application and copy your app's client ID to src/public/config.json. Add http://localhost:3000/auth as a redirect URI in your Spotify app.

brew update
brew install yarn
yarn install
gulp
open http://localhost:3000

How to Test

yarn install
yarn test

This will run the style checker and the Jest tests. You can run just the style checker via yarn run style. You can run just the Jest tests via yarn run unit-test.

Snapshots are used -- see test/components/__snapshots__/ -- to test that a React component is rendered the same way consistently based on the props it's given. If you update a component, a test may fail because the snapshot is now different from what is rendered. Manually compare the two and if the change is expected, update the now out-of-date snapshot with yarn run unit-test -- -u.

See also:

How to Deploy to Heroku

In your Spotify application, you'll need to add your Heroku app's URL, with /auth, as a valid redirect URI. You probably want to add two redirect URIs: one with https and the other with http.

git push heroku master

spotty-features's People

Contributors

cheshire137 avatar tcbyrd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

spotty-features's Issues

Make playlist generation first/primary tab

Since not everyone has saved tracks on Spotify, the 'Trends' tab can be lonely for some. Playlist generation, however, is always available! So make it the first tab and the one selected by default.

"Could not create playlist: Error: Forbidden"

First, thank you for this tool ! It comes handy with the shutdown of many services from the Echo Nest...

I can not save any playlist. Everything else seems fine, the app fetches my data correctly until september 2017, and creating the playlist goes fine. When I click "Create Playlist" to actually save the found songs, the error comes.

Allow playlist creation based on metrics

Let the user specify things like "positive danceable tracks," "negative acoustic tracks," "live tracks with low energy," etc. and create a playlist for them of tracks they have saved that have those qualities.

Idea inspired by @tcbyrd!

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.