GithubHelp home page GithubHelp logo

danielooi / soundcloud-social-download Goto Github PK

View Code? Open in Web Editor NEW

This project forked from akutakustik/soundcloud-social-download

1.0 2.0 0.0 1.52 MB

Give a SoundCloud download in exchange for a social interaction, such as Share on Facebook.

Home Page: http://soundcloud-social-download.heroku.com

soundcloud-social-download's Introduction

SoundCloud-Social-Download

This app allows you to distribute a free SoundCloud track download in exchange for a social interaction, such as Sharing on Facebook and Tweeting on Twitter. Effectively creating a "Tweet/Share for Download" campaign. The default application has many customization options, but feel free to adjust and fork as needed. You can see an example of the default app running here.

Prerequisites

1. Install Ruby, RubyGems, & Rails

Mac OS X: Ruby and Rails comes pre-installed on Mac OS X, but you'll want to upgrade it by following these instructions.

Windows: Follow these instructions to install Ruby and Rails on Windows.

2. Install Git & Generate SSH Key

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

  1. Install Git: On a Mac, Windows, or UNIX/Linux
  2. Sign up for Github
  3. Follow these instructions to generate an SSH key & add the key to your Github account.
  4. Set user name and email globally on git by following these instructions

3. Register a new SoundCloud application

  1. Make sure you're signed up for SoundCloud and logged in.
  2. Go here, name your app, and click Register
  3. Copy the Key and Secret to a text file for later

Register Social Apps

You'll need to create applications for each of the social services you wish to use on your promotion and copy the given keys and secrets for later. Current services are: Twitter, Facebook, MySpace, and Digg

1. Register a new Twitter application

  1. Go here
  2. Name your application and give it a Description
  3. Input your Application Website (url where your app will live)
  4. Add your artist name as Organization and your artist website url as Website
  5. Make sure Browser is selected on Application Type
  6. Input your Callback URL (url where your app will live)
  7. Select Read & Write for Default Access type
  8. Click Save
  9. Finally, copy the Key and Secret to a text file for later

2. Register a new Facebook application

  1. Go here, name your app, agree to terms, and click Create Application
  2. Click Connect in the left column and add your Connect URL (url where your app will live), then click Save Changes
  3. Copy the Application ID and Secret to a text file for later

3. Register a new MySpace application

  1. Go here and click Create MySpaceID App
  2. Give your application a Title, agree to the terms, and click Next
  3. Add a short Description to your app and scroll down to External Site Settings
  4. Input your External URL (url where your app will live)
  5. Then input your External Callback Validation (url to your app + '/oauth_callback/myspace')
  6. Agree to the terms and click Save
  7. Scroll down to OAuth Settings and copy the Key and Secret to a text file for later

4. Register a new Digg application

  1. Login to Digg
  2. Go here and click My Apps
  3. Click Create New App
  4. Give your application a Name and Description
  5. Copy the Key and Secret to a text file for later.
  6. Click Save App

Download

Clone the application on your local computer by running the following command in your Terminal emulator. (Terminal on Mac, Console on Windows)

 git clone [email protected]:soundcloud/soundcloud-social-download.git project_name

Now you're ready to do some configuring.

Configuration

Configuring the application is simply done by editing the following files auth.yml settings.yml in the config folder.

If you're looking for a decent text editor, try TextMate

1. Update Authentication File

  1. Input the following into config/auth.yml
  2. SoundCloud Key and Secret into production > soundcloud > prokey & prosecret
  3. Twitter Key* and Secret into production > twitter > prokey & prosecret
  4. Facebook Application ID and Secret into production > facebook > proappid & prosecret
  5. MySpace Key and Secret into production > myspace > prokey & prosecret
  6. Digg Key and Secret into production > digg > prokey & prosecret

2. Update Settings File

  1. Input the following into config/settings.yml
  2. Your promotion title, description, and track url
  3. Customize the player params as needed (You can view a full list of parameters here)
  4. You can also set your player type, height, and width
  5. Next input the promotion header and instructions
  6. Would you like to allow email submission as an alternative? true or false
  7. Adjust the comma separated list of services to reflect which 3rd party sites you'll be using.
  8. Adjust the default social language such as button, header, and status for each service being used.

Customize CSS & Images

Replace default images

Replace the following images within the public/images folder with something that relates to your competition.

  • bg.jpg: background image
  • logo.png: logo that appears in the top center of your app. Replace with another transparent png of your choosing.
  • artwork.jpg: a square 425 x 425 pixel image used for sharing. This should be the image associated with your track (album cover, single cover, etc).

Adjust default CSS

You can further customize the aesthetics of your application by adjusting application.css found within public/stylesheets. Here's a few ideas:

  • Change the color and font of text in the body selector
  • Change the color of links and their hover effect in the a selector
  • Change the color of headlines in the h1, h2 selector
  • Change the background gradient and color of the button in the button selector

Deployment

Deploying on Heroku

  1. Create a Heroku Account
  2. Install the Heroku Gem
  3. And finally, deploy it to Heroku

Connect the App to Your SoundCloud Account

You must connect the app to the SoundCloud account which owns the track you are offering for download.

To do this, visit yourapp.com/activate and login with the appropriate SoundCloud account.

Submit URL to Digg

If you're using Digg, be sure to submit your campaign's url to Digg.com so the app has something to Digg.

Export Submitted Emails

  1. Visit yourapp.com/login/soundcloud and login with the SoundCloud account that owns the track you are offering for download.
  2. Visit yourapp.com/export and you'll get a CSV dump of all submitted emails.

Tips and Tricks

  • Visit yourapp.com/promote/widgets to get a list of all default SoundCloud embed widgets. You can use this page when marketing your campaign: 'Go here to grab an embed code of the track being offered for social download.'
  • Visit yourapp.com/promote/tab to get the basic code needed to create an FBML tab application used to market your promotion. For more info on creating FBML tab apps, go here.
  • A "Free Download" button is added to the player embed via a customized 'buy' button which directs people to your campaign. More on that hack here.

Copyright

SoundCloud-Social-Download is Copyright (c) 2010 Lee Martin and SoundCloud, released under the MIT License.

soundcloud-social-download's People

Contributors

leemartin avatar

Stargazers

@danielooi avatar

Watchers

@danielooi avatar James Cloos 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.