Giter VIP home page Giter VIP logo

droptune's Introduction

About

Droptune is new music notifications for your favorite artists. It's something I've (@Shpigford) personally wanted to see exist for as long as I've been listening to music (i.e. forever). I don't passively listen to music. I don't just fire up some radio station or random playlist and listen to whatever is on. I choose what music I listen to and follow artists I love.

In that vein, I always want to know when those artists I love release new music, new music videos, news and whatever else they put out.

Unfortunately, that's a difficult task. I consume content from artists across multiple platforms (Spotify, Apple Music, YouTube, etc). But none of those platform accurately and consistently surface new music. They use fancy algorithms and content editors to surface music they "think" you'll want, instead of just showing it all, ultimately meaning you miss out on a lot.

On top of that, they don't surface the non-audio content (such as news articles and music videos).

So, what Droptune does is centralize all of that. New music, new videos, news and more, all for the artists that I choose to follow, so I never miss beat.

Design

The design for Droptune is also open source! You can find our more about that as well as learn how to contribute in the Droptune Design repo!

Codebase

The codebase is vanilla Rails, Sidekiq w/ Redis, Puma, Postgres. Quite a simple setup.

How to start

1. You'll need to pull down the repo locally. You can use GitHub's "Clone or download" button to make that happen.

2. Then, add a config file to config/application.yml with Twitter and Spotify OAuth keys. See below on how to get setup and get keys for Twitter and Spotify.

twitter_key: KEY
twitter_secret: SECRET
spotify_key: KEY
spotify_secret: SECRET

Twitter

For Twitter, you'll need to have a Developer account and create your own app, which is free: https://developer.twitter.com

Make sure to set the Callback URL to http://localhost:5000/users/auth/twitter/callback. You will also need to set a Terms of Service URL, a Privacy Policy URL. Then make sure to check "Request email address" on the permissions page.

Spotify

For Spotify, you'll also need a Developer account and create your own app, which is also free: https://developer.spotify.com

Make sure to set the Redirect URI to http://localhost:5000/users/auth/spotify/callback

These will get you the necessary keys for the app to fully function.

3. In the command line, you'll then run the following to set up gems and the database...

$ bundle && rake db:setup # Installs the necessary gems and sets up the database

4. Finally, start the server (also in the command line)!

$ foreman start # starts webserver and background jobs

If you don't already have foreman installed, you can install it with gem install foreman

Contributing

It's still very early days for this so your mileage will vary here and lots of things will break.

But almost any contribution will be beneficial at this point.

If you've got an improvement, just send in a pull request. If you've got feature ideas, simply open a new issues!

License & Copyright

Released under the MIT license, see the LICENSE file. Copyright (c) 2018 Sabotage Media LLC.

droptune's People

Contributors

dinubs avatar fabiogiolito avatar mtclmn avatar shpigford avatar

Watchers

 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.