Giter Club home page Giter Club logo

tunefish's Introduction

TuneFish

TuneFish is a social media music aggregator currently based around three providers: SoundCloud, YouTube, and Twitter. Using the OAuth2 protocol you can authenticate with each service, and TuneFish will search for new music and populate an activity feed. Videos and tracks are embedded directly into the TuneFish interface, meaning you won't have to open new tabs to listen to tracks.

With TuneFish you can:
  • View your own activity feed
  • Manage what social media accounts you'd like to track
  • Filter by provider
  • Browse other users and see their feeds
  • Subscribe to users and a separate activity feed will be filled with aggregated content

Some specifics based on provider:

  • Twitter - TuneFish looks for tweets with the hashtag #tf. If you find a song you like and want to share it with your followers, add the hashtag and we'll add that tweet directly to your activity feed.
  • YouTube - After you authenticate with your Google account, you'll have the option to whitelist certain subscriptions that will be pulled into your feed.
  • SoundCloud - TuneFish looks for your favorited tracks.

Technical stuffs

TuneFish is an Ember/Rails application. The back end uses Redis and Sidekiq, with workers making 3rd party HTTP requests and saving new activity to the database. All three services have excellent support for embedded content, so we're typically requesting track or video ids which we can plug into our Ember templates based on provider.

Major Features/Screenshots

Landing Page

landing page

New users will land here with the option to login via OAuth.

Main Activity Feeds

activity feed

Here is the main activity feed. On the left you'll have the option to add new services or manage existing services. Here is where you can whitelist YouTube subscriptions, adding and removing subscriptions can be done at any time. Filtering by provider is also available. The two tabs at the top of the page allow you to switch between your own feed and the compiled feeds of users you currently follow.

Browsing Other User's Feeds

user show

TuneFish has an internal user subscription system, which allows you to browse other site users and see what kind of content pops up on their feeds.

Installation

TuneFish is an Ember/Rails application, and you'll need to run both servers side by side.

For Ember you will need the following things properly installed on your computer.

On the Rails side you'll need Redis and Sidekiq.

[email protected]:tyrbo/tunefish.git

cd tunefish
# from here you'll have two folders (ember/rails) which contain each application respectively

# Rails
cd rails
bundle
rake db:create db:migrate db:seed

# To run redis/sidekiq (you'll need to leave both procceses running)
redis-server
sidekiq

# Running the rails server
bundle exec rails server

# Ember

npm install
bower install

# Running the Ember server
ember server -proxy http://localhost:3000 # or whatever port you plan on running the Rails server

At this point you can point your browser to http://localhost:4200 and everything should be running smoothly.

Ember Tests

  • ember test
  • ember test --server

Build Ember

  • ember build (development)
  • ember build --environment production (production)

tunefish's People

Contributors

allisonlarson avatar hilaryous avatar tyrbo avatar wfro 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.