In each matchup, choose a favorite between two songs. At the end, you'll have a winner!
See the app live at spotifight.me.
Clone the repository:
git clone https://github.com/joncass/spotifight.git
Move into the directory and start the app
cd spotifight
npm run start
Run tests with or without coverage
npm run test
npm run coverage
Longer term I would like to put the server/index.js
logic onto a server. For now, I run it locally with Node, and check in the data
files it generates. It cannot be run from the browser because it requires Spotify developer credentials, which should not be exposed client-side. If you want to generate your own data
files, sign up for a Spotify developer account, and create a secrets/spotifyWebAPI.js
with contents
exports.clientId = [YOUR CLIENT ID]
exports.clientSecret = [YOUR CLIENT SECRET]
and then run
node server
Built using:
- React (in particular, create-react-app)
- Semantic UI React
- react-sound
- spotify-web-api-node
Testing and CI/CD with:
MIT License
Contributions welcome! I don't have a contributing guide (yet), but feel free to open an issue if you have a suggestion for a change and/or would like to make a pull request. NB: I will be looking for 100% test coverage.