JukeGenie sprang from the desire to make party playlists more inclusive and collaborative. Most playlists are controlled by a single host or DJ with no regard for potentially valuable input from the partygoers the playlist is supposed to entertain. JukeGenie empowers the partygoers to control their musical destiny in a collaborative process.
Omniauth gem is used to integrate with Spotify Oauth API 2.0. Authorization Flow from Spotify is used. Rspotify Gem is used for automatic refreshing of the user token. Refresh token is passed to the backend JukeGenie-Api where a created method is used to refresh the users token via a Facade initialization.
JukeGenie (FrontEnd) provides the view functionality of the app and creates requests to the JukeGenie-API for database requests on saved playlists, suggestions, aritists, tracks. This relies on calls to backend triggering calls to other outside API's (Spotify API and Google Geolocation API). JukeGenie is also responsible for User Oauth verification, email verification upon registration and two factor authentication.
When accessing the website visitors will be provided a description of the application and the features that they will be able to access as a registered user. Visitors will be directed to register an account with our application via Oath authentication. Once registered/logged in visitors will be redirected to a user dashboard page.
On their user dashboard page, users will see any JukeJams that they are hosting or have joined. Each will be a link to the JukeJam's show page. Users will also see buttons to create a new JukeJam, join an existing JukeJam by inputting a JukeJam code provided to them, and explore nearby parties (This will prompt the user to share their current location, send an API request to Geolocation API, and check if they are in range of other parties hosted by other users.)
- When Accessing a JukeJam they have joined, users will be able to recommend artists, songs, or genres to the playlist.
- Users will also see recommendations from other users to this playlist.
When creating a JukeJam, that user will be set as the host. The user will create their Jukejam with a name, full address and range. Then they will be taken to an initial suggestions page where they can send initial suggestions to populate a spotify playlist. The playlis will be created and they will see the embedded spotify playlist on the created playlist's show page.
- The JukeJam host will get a JukeJam code that they can share with other users so that they can join the JukeJam.
- Any user within the set range by the host will be able to find that JukeJam with the Explore Nearby Jukes button and send in recommendations.
-
Ruby on Rails
-
Tailwind
-
Postgresql
-
Sqlite3