Giter Site home page Giter Site logo

jukegenie's Introduction

JukeGenie README


alt text

About the project:

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.


Oauth Integration:

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.


SOA Functionality:

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.


As a Visitor:

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.


As a User:

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.)

  1. When Accessing a JukeJam they have joined, users will be able to recommend artists, songs, or genres to the playlist.
  2. Users will also see recommendations from other users to this playlist.

As a JukeJam Host:

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.

  1. The JukeJam host will get a JukeJam code that they can share with other users so that they can join the JukeJam.
  2. 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.

alt text

Tech Stack

  • Ruby on Rails

  • Tailwind

  • Postgresql

  • Sqlite3


API's


This project was created by:

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.