https://github.com/seandonn-boston/into-client https://seandonn-boston.github.io/into-client/#/ https://github.com/seandonn-boston/into-api https://into-api.herokuapp.com/
INTO pulls data from all your favorite media streaming services like Spotify, Netflix, Steam, and Audible and examines what you've been "into" recently. As a user of INTO, you can generate a 3x3 image of you everything you've been into over the past 7 days.
INTO is (will be*) connected to 3rd party API's in order to gather the necessary information to create a collage. Users must authenticate their accounts first via the acocunts tab, and then navigate back to the homepage to generate a collage. The collage generation engine will pull data from each of the users connected accounts and determine what the user has spent the most time doing - perhaps they've been binge watching a Netflix show, or can't get enough of Kanye's latest album, or have been playing Fortnite all night. Whatever it is that you're into, INTO will grab the album cover/tv poster/game cover of your top 9 things from the past 7 days and make a collage image to share on Instagram, Tinder, and more.
- Fork and clone this repository.
- Change into the new directory.
- Run
bundle installto install dependencies - Create and checkout a new branch, named
into-api-fork. - When finishing changes, push to your fork and submit a pull request
- Git
- Github
- Grunt
- HTML5
- Bootstrap
- Handlebars
- CSS3
- JavaScript
- Ruby
- Rails
- Heroku
- Ember.js
- jQuery
- AJAX
- Spotify Web API
Next Steps include:
- Connecting to the Spotify API (POC)
- Extrat 7 days of user history data
- Filter through all history - establish the top 9 albums that user listened to that week
- Order top 9 by amount of time spent listening per album (album1: 2hrs, album2: 1.5hrs, album3: 1.2hrs, etc)
- Pull the album cover of these top 9 albums
- Arrange the album covers in a 3x3 grid, left to right and top to bottom (most-time to least).
- Convert this 3x3 grid into a jpeg or png
- Provide links to share or download
- Extra stretch steps:
- Store the image into AWS
- Display the images as a hsitory for the user
- Allow user to delete individual items (maybe the user doesn't want to share the fact that they've been listening to Kidz Bop 4 for 12 hours this week - provide them a chance to remove and replace before sharing/saving/downloading)
- Connect Netflix, Google Play, Amazon, Audible, Steam, PSN, Xbox, etc
- Notes: https://imgur.com/a/ODbyiZx
- ERD : https://imgur.com/a/fdh9VhW
- Wireframes https://imgur.com/a/fExUV8s
- User stories: Auth
- As a user, I want to sign up
- As a user, I want to sign in
- As a user, I want to change password
- As a user, I want to sign out
Settings
- As a user, I want to connect accounts by username
- As a user, I want to remove accounts
- As a user, I want to update account names
Generator
-
As a user, I want to create a collage
-
Parameters include grid size (3x3, 4x4, 5x5), time frame (1 week, 1 month, 3 months, 6 months, 1 year, all time), and content type (all, music, tv, movies, games, podcasts, books, etc). Title option available but not required - default title is "3x3_7days_all"
-
As a user, I want to read all my saved collages (view history)
-
As a user, I want to update my collage (settings, title, and generated output)
-
As a user, I want to download collages as images
-
As a user, I want to delete my collages
Stretch user stories
- As a user, I want to share collages with Twitter, Instagram, and Tinder
- As a user, I want to publish my collages to a social media feed.
Process:
- Create backend, CURL, test, deploy
- Connect backend tables to Ember
- Finish requirements for class purposes
- Connect to Spotify API (in progress)
- Create collage generation engine (not started)
Problem-solving strategies:
- Google, check past issues, review class notes, ask a friend, then create an issue of my own. Issues included:
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1223
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1225
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1238
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1275
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1279
- https://git.generalassemb.ly/ga-wdi-boston/capstone-project/issues/1252
-
-
-
- 200, OK
-
{accounts: [ "account": { "service": "'"${SERVICE}"'", "username": "'"${USERNAME}"'" }] }- The response body will be an accounts object that contains an array of all of your accounts because this is a protected controller. There will be other attributes such as date and owner associated with each account.
-
-
-
--request POST \ --header "Authorization: Token token=${TOKEN}" \ --header "Content-Type: application/json" \ --data '{ "account": { "service": "'"${SERVICE}"'", "username": "'"${USERNAME}"'" } }' -
-
- 201, Created
{accounts: [ "account": { "service": "'"${SERVICE}"'", "username": "'"${USERNAME}"'" }] } -
-
-
-
-
- PATCH
- -https://into-api.herokuapp.com/accounts/:id
-
--request PATCH \ --header "Content-Type: application/json" \ --header "Authorization: Token token=${TOKEN}" \ --data '{ "account": { "service": "'"${SERVICE}"'", "username": "'"${USERNAME}"'" } }'
-
-
-
- 204, No Content
-
- n/a
-
-
-
-
-
- DELETE
- -https://into-api.herokuapp.com/accounts/:id
-
--include \ --request DELETE \ --header "Authorization: Bearer ${TOKEN}"
-
-
-
- 204, No Content
-
- n/a
-
-
