Giter Site home page Giter Site logo

jukegenie's People

Contributors

abwmn avatar alejandrolopez1992 avatar blowrey24 avatar sjcowans avatar

Stargazers

 avatar  avatar

Watchers

 avatar

jukegenie's Issues

User dashboard, explore nearby Jukes button

When a user is at their dashboard page they see a "Explore nearby Jukes button".
When this button is clicked they are directed to a form that allows them to select wether they want to find Juke's by current location or by desired location. Each of these will have it's own button to submit.
If the current location button is pressed, they receive a request to share current location by Geocoders IP address location:
(In Any Rack-Based Framework
Detect Location of HTTP Request
Get current user's city and country (using IP address). A location method is added to the standard Rack::Request which returns a Geocoder::Result object:

Rails controller or Sinatra app

city = request.location.city
country = request.location.country_code). A redirect to the explore nearby jukes page happens. A call to the backend "/api/v1/playlists" is made and all playlists are retrieved. All playlists are created into temporary PORO playlist objects. Iteration through all playlists then happens to compare the distance between Geocoder object and playlists Geocoder object and playlists that are within range set are returned and shown to the user.
If the user inputs an address and clicks desired location button, a Geocoder::Result object: is made with that address. A redirect to the explore nearby jukes page happens. A call to the backend "/api/v1/playlists" is made and all playlists are retrieved. All playlists are created into temporary PORO playlist objects. Iteration through all playlists then happens to compare the distance between Geocoder object and playlists Geocoder object and playlists that are within range set are returned and shown to the user.

FrontEnd: User Sign Up

As a visitor, when I visit "/", I want to click on the Sign Up button so that I register an account with my Spotify account.
Subtasks:
use user_data from authentication to send get request to back end.
if user is found, create session with user
if not found, send POST request to backend to create user,
with get or post request results create user PORO that can be passed in through Facade to dashboard.

User should be redirected to "/dashboard" after successful registration.

Confirmation email

Create a confirmation email upon session creation or account creation.

FrontEnd: Landing Page Display (complete before sign in and sign up)

As a visitor, when I access the landing page "/", I see "Welcome to Juke Genie" Centered at the top, A sign in button, a sign up button, a sample playlist picture below and a picture of people having fun listening to music.

  1. Create a landing page route "/"
  2. Create a display for "Welcome to Juke Genie" and center it.
  3. Create a sign in button with route of "/login"
  4. Create a sign up button with route of "/register"
  5. Use an image tag to center left an image of a Spotify Playlist.
  6. Use an image tag to center right an image of people having fun with music.

FrontEnd: User Sign In

As a visitor, when I visit "/", I want to click on the Sign In button so that I can log in to the application with Spotify.
Subtasks:

  1. Implement Spotify Oauth authorization code flow: https://developer.spotify.com/documentation/web-api/tutorials/code-flow
  2. Route for register page is "/login"
  3. User should be redirected to "/dashboard" after successful login.
  4. If user is not able to authenticate with Spotify, user should see flash message that reads "Unsuccessful login, something went wrong" and redirected to "/"

Review Miro/WireFrame Features and decide on project MVP

Once we decide on our project MVP we can look to start creating a README with user stories to complete each feature our project must have. We can also then create new milestones and issues for each of the user stories.

For features that we want to implement but are unsure if we can complete within the allotted time we can create Extensions as user stories.

User Model

Create user model with create actions and corresponding session creation logic

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.