Skip to content

Mackenzie-Frey/dj_spoti

Repository files navigation

README

Description

DJ Spoti is an 11-day, four-person project during Mod 3 of 4, for Turing School's Back-End Engineering Program.

Our challenge was to create a web application from idea to inception. Project requirements included: authentication with a third-party service, consuming an API, and solving a real-world problem.

Thus, DJ Spoti was born. DJ Spoti is a web application designed to solve the problem of one person being in charge of the music at a party and being unable to take into account all of the music preferences of their fellow party-goers. DJ Spoti enables users to create a collaborative music experience by logging into the app and inviting their friends via a text message. From there, DJ Spoti aggregates the favorite songs of all session party users and cultivates a playlist with all user preferences in mind.

DJ Spoti utilizes the languages of Ruby, HTML, CSS, the web framework of Rails, and authentication via Spotify OAuth. The Spotify API is utilized to consume user playlist preference data.

image

image

image

image

Schema

image

Getting Started

To run DJ Spoti on a local machine, navigate to the directory in which you would like the project to be located, then execute the following commands:

$ git clone git@github.com:Mackenzie-Frey/dj_spoti.git
$ cd dj_spoti
$ bundle
$ rails g rspec:install
$ rails db:create
$ rails db:migrate
$ bundle exec figaro install

Environment Variable Setup

Sign Up on the following API:

Add the following code snippet to your config/application.yml file. Make sure to insert the key/secret without the alligator clips ( < > ).

SPOTIFY_CLIENT_ID: <insert>
SPOTIFY_CLIENT_SECRET: <insert>

Running Tests

To run the test suite, execute the following command: rspec.

Deployment

To view DJ Spoti in development, execute the following command from the project directory: rails s. In a browser, visit localhost:3000, to view the application.

To view the application in production, from the project directory, execute the following commands:

$ createuser -s -r dj_spoti
$ RAILS_ENV=production rake db:{drop,create,migrate}
$ rake assets:precompile
$ rails s -e production

Tools Utilized:

  • Figaro
  • Faraday
  • Shoulda-Matchers
  • Factory Bot
  • Spotify OAuth
  • Spotify API
  • Bootstrap
  • GitHub & GitHub Projects
  • FactoryBot
  • RSpec
  • Capybara
  • Pry
  • RuboCop
  • Launchy
  • SimpleCov
  • PostgreSQL
  • Chrome Dev Tools

Rubric/Project Description

http://backend.turing.io/module3/projects/terrificus

Project Management

GitHub Project Board

Authors

Acknowledgments

About

DJ Spoti provides a collaborative music experience via text invites, Spotify API consumption & OAuth.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •