https://github.com/dwrob/lwtapemix
An app that provides a fun - Tinder-style - voting system for choosing what songs should be put on a spotify playlist
https://github.com/dwrob/lwtapemix
le-wagon-bootcamp rails-application spotify-api spotify-playlist
Last synced: 6 months ago
JSON representation
An app that provides a fun - Tinder-style - voting system for choosing what songs should be put on a spotify playlist
- Host: GitHub
- URL: https://github.com/dwrob/lwtapemix
- Owner: DWROB
- Created: 2022-11-28T15:02:48.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-02T11:33:50.000Z (almost 3 years ago)
- Last Synced: 2025-02-13T13:18:37.744Z (8 months ago)
- Topics: le-wagon-bootcamp, rails-application, spotify-api, spotify-playlist
- Language: Ruby
- Homepage:
- Size: 1 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Rails app generated with [lewagon/rails-templates](https://github.com/lewagon/rails-templates), created by the [Le Wagon coding bootcamp](https://www.lewagon.com) team.
# [TapeMix](http://demo.tapemix.fun)
## Make collaborative Spotify playlists with your friends easily
The objective of this final project for my Web Development bootcamp with Le Wagon was to make an app that would help a user select a range of playlists from their Spotify account and allow their friends to vote yes or no to any of the songs.
## Use case
All parties need music. All parties need someone to control the music. Often the people controlling the music have to deal with other people requesting songs. The spotify queue is also something that, if someone clumsy comes along, the queue can be obliterated by a careless swipe.The aim of TapeMix is that the user, who controls the music, can select one or more of their playlists - say, "2010' alterantive pop" and "Indie rock classics from 2011" - and combine them into one playlist. They can then send this combined playlist to everyone at the party, allowing to vote 'yes' or 'no' on the song (see fig-1 below). Any song with less than 0 votes will not make the mix.
## Objectives of the project
To consider designing any kind of music playlist app without integrating the main music streaming services would be foolish endeavour. After researching Spotify's documentation about their API and the endpoints available, I felt it would be possible to utilise the API in order to build this app.
I initially planned to use an existing gem "rspotify" to handle the OAuth procedure and subsequent calls. However, I eventually decided that it was possible and more beneficial to my learning that I establish authorization with only the use of the 'rest-client' gem.
### User Flow outline
|Sign up|Authorization|View your Spotify playlists|
|---|---|---|
||
|
|
|Sign-in via Devise. |Spotify auth screen explaining TapeMix scopes | Spotify playlists displayed. User can select one, two or more, to combine and send to their friends/voters.|Make a selection|Keep up to date with voting|Playlist in Spotify|
|---|---|---|
||
|
|
|fig - 1: Voters can vote on the songs via a Tinder-style interface|User can observe progress of the voting; and can confirm anytime they want|After confirmation, the tape is immediately sent to Spotify as a playlist, ready to play|