Git Product home page Git Product logo

album_art's Introduction

Album Art

I built Album Art for mainly two reasons:

  1. To understand how to use Spotify's API and store data on a user's song history
  2. To prototype how Apple's Album Artwork screen saver could function for Spotify users

Links

  • Album Art - Play with the app! Note that this app works best on Chrome. Also, because this app is deployed on Heroku, it may take a minute to load. If it takes longer than this, you may need to refresh your browser.
  • Demo - Watch a demo of the app.

Features

  • Stores information on recently played Spotify songs, such as album cover images, song titles, and artist names. Recently played songs are accessed via Spotify's API and the Ruby wrapper, RSpotify. Since Spotify's Recently Played API only allows users to retrieve information on the past 50 songs, only the most recently played 50 songs can be stored at a time. Thus, users seeking to track their song history beyond 50 songs should regularly log into the program. Songs are automatically loaded each time a user logs in, however songs can be loaded without logging out by clicking 'refresh'.

  • Displays the album covers for recently played songs in a clean, customizable view. Users decide which covers to showcase, along with the number of rows and columns of the grid on which to display the songs.

  • Plays 30-second song previews. Users can preview songs by clicking on the album covers in the program.

Preview

Welcome Screen
Sign Up Screen
Log In Screen
Set Up Screen
Select Songs Screen 1
Select Songs Screen 2
Display Album Covers Screen

Configuration

  1. Register a Spotify application and obtain a client ID and client secret. Follow this guide from Spotify for information on how to do this: https://developer.spotify.com/documentation/general/guides/app-settings.

  2. Generate a secure session secret. You can use the Rake task in the program. Just open the program from your terminal and type in the following command:

rake generate:session_secret'
  1. Create a file titled '.env' in the program's root directory with the following (replace the 'X's with information from the previous steps):
export CLIENT_ID=XXXXXXXXXXXXXXXXXXXXXXX
export CLIENT_SECRET=XXXXXXXXXXXXXXXXXXX
export SESSION_SECRET=XXXXXXXXXXXXXXXXXX
  1. Run 'bundle install' to install the necessary Ruby gems and you're good to go!

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/alexander-mc/album_art.git. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

album_art's People

Contributors

alexander-mc avatar

Watchers

 avatar  avatar

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.