JamesChevalier/Little-Corner

View on GitHub
README.md

Summary

Maintainability
Test Coverage
Little Corner
=============

[![Build Status](https://travis-ci.org/JamesChevalier/Little-Corner.png)](https://travis-ci.org/JamesChevalier/Little-Corner)
[![Code Climate](https://codeclimate.com/github/JamesChevalier/Little-Corner.png)](https://codeclimate.com/github/JamesChevalier/Little-Corner)
[![Coverage Status](https://coveralls.io/repos/JamesChevalier/Little-Corner/badge.png)](https://coveralls.io/r/JamesChevalier/Little-Corner)

Little Corner is a website that is used to pull your entire web presence into one place. It runs on Ruby on Rails, doesn't use a database, and is Heroku-ready. You can see it in action at [http://jameschevalier.us](http://jameschevalier.us)

Compatible Services
-------------------

* Blog (via RSS)
* Delicious
* Flickr
* Foursquare
* GitHub
* Google Analytics
* Gravatar
* Instagram
* Last.FM
* Soundcloud
* Tumblr
* Twitter
* Untappd
* Woopra

How To Get It Going
-------------

### Get the code
1. Open Terminal
2. Copy Little-Corner locally with `git clone git@github.com:JamesChevalier/Little-Corner.git`
3. Change directory into Little-Corner with `cd Little-Corner`

### Complete initial configuration
1. Run `rake secret` and replace the secret_token in `config/initializers/secret_token.rb` with the result of this command
2. Edit `config/environment.rb` as completely as possible
3. Replace `public/favicon.ico` with your own favicon
4. Replace `/app/assets/images/bg.jpg` with your own background image
    * Make sure your background image has the same filename
    * A larger-sized image is best; something like 1920x1200, or 1280x800
5. Add your own `projects` images (150w x 80h) to the `/app/assets/images` directory
6. Edit `app/views/projects/index.html.erb` to add your projects

### Deploy initial version
1. Commit your configuration changes with `git add .; git commit -m "Update Config"`
2. Create your Heroku app with `heroku create`
3. Deploy Little-Corner to Heroku with `git push heroku master`

### Configure individual services

The sections below describe how to enable each individual service. Some of the steps in each section might duplicate steps you completed in the `Complete initial configuration`, above. If you aren't enabling one of them, just skip that section.


#### Flickr
* Register your application at [http://www.flickr.com/services/apps/create/apply/](http://www.flickr.com/services/apps/create/apply/)
    * Set the Name of your app to "Little-Corner" (or something similar, if they require unique names)
    * Enter a description for your app, or copy this: "I'm setting up Little Corner. https://github.com/JamesChevalier/Little-Corner Little Corner is a website that is used to pull your entire web presence into one place. It runs on Ruby on Rails, doesn't use a database, and is Heroku-ready."
* You can get your User ID through [http://idgettr.com/](http://idgettr.com/)
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_FLICKR` to true
    * Set the value for `FLICKR_API_KEY`
    * Set the value for `FLICKR_API_SECRET`
    * Set the value for `FLICKR_USER_ID` to your user ID
    * Set the value for `FLICKR_USER_NAME` to your user name
* Commit your changes with `git add .; git commit -m "Configure Flickr"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Foursquare

* Register your application at https://foursquare.com/developers/apps
    * Set the Name of your app to "Little-Corner" (or something similar, if they require unique names)
    * Set Download / welcome page url to your website's location
    * Set Redirect URI to "http://YOURDOMAIN/foursquare/callback"
    * Check the box for Web Connect Support
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_FOURSQUARE` to true
    * Set the value for `FOURSQUARE_CLIENT_ID`
    * Set the value for `FOURSQUARE_CLIENT_SECRET`
    * Set the value for `FOURSQUARE_USER_NAME` to your user name
* Commit your changes with `git add .; git commit -m "Configure Foursquare"`
* Deploy Little-Corner to Heroku with `git push heroku master`
* Go to http://YOURDOMAIN/foursquare/connect in your browser
* Edit the `/config/environment.rb` file:
    * Set the value for `FOURSQUARE_OAUTH_TOKEN`
* Commit your changes with `git add .; git commit -m "Configure Foursquare"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Instagram

* Register for Developer access at [http://instagr.am/developer/register/](http://instagr.am/developer/register/)
* Register your application at [http://instagr.am/developer/manage/](http://instagr.am/developer/manage/)
    * Set Application Name to "Little Corner"
    * Set Description to "Little Corner pulls your entire web presence into one place."
    * Set Website to your website's location
    * Set OAuth redirect_uri to "http://YOURDOMAIN/instagram/callback"
* Edit the `/config/environment.rb` file:
    * Enable Instagram by setting the value for `ENABLE_INSTAGRAM` to 1
    * Set the value for `INSTAGRAM_CLIENT_ID`
    * Set the value for `INSTAGRAM_CLIENT_SECRET`
* Commit your changes with `git add .; git commit -m "Configure Instagram"`
* Deploy Little-Corner to Heroku with `git push heroku master`
* Open http://YOURDOMAIN/instagram/connect in your browser
* Edit the `/config/environment.rb` file:
    * Set the value for `INSTAGRAM_ACCESS_TOKEN` to the Access Token provided
* Commit your changes with `git add .; git commit -m "Configure Instagram"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Last.FM

* Register your application at [http://www.last.fm/api/accounts](http://www.last.fm/api/accounts)
    * Set the Application/Device Name to "Little-Corner" (or something similar, if they require unique names)
    * Set the Application Description to "My instance of Little-Corner"
    * Set the Application Homepage to your website's location
    * You don't need to fill out the rest of the form
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_LAST_FM` to true
    * Set the value for `LAST_FM_USER` to your user name
    * Set the value for `LAST_FM_API_KEY`
    * Set the value for `LAST_FM_API_SECRET`
* Commit your changes with `git add .; git commit -m "Configure Last.FM"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Soundcloud

* Register your application at [http://soundcloud.com/you/apps](http://soundcloud.com/you/apps)
    * Set the Title of your app to "Little-Corner" (or something similar, if they require unique names)
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_SOUNDCLOUD` to true
    * Set the value for `SOUNDCLOUD_CLIENT_ID`
    * Set the value for `SOUNDCLOUD_USER_NAME` to your user name
* Commit your changes with `git add .; git commit -m "Configure Soundcloud"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Tumblr

* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_TUMBLR` to true
    * Set the value for `TUMBLR_USER_NAME` to your user name
* Commit your changes with `git add .; git commit -m "Configure Tumblr"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Twitter

* Register your application at https://dev.twitter.com/apps
    * Set the Name of your app to "Little-Corner" (or something similar, if they require unique names)
    * Set the Description of your app to "Little Corner pulls your entire web presence into one place."
    * Set Website to your website's location
    * Set Callback URL to "http://YOURDOMAIN/twitter/callback"
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_TWITTER` to true
    * Set the value for `TWITTER_CONSUMER_KEY`
    * Set the value for `TWITTER_CONSUMER_SECRET`
    * Set the value for `TWITTER_ACCESS_TOKEN`
    * Set the value for `TWITTER_ACCESS_TOKEN_SECRET`
    * Set the value for `TWITTER_USER_NAME` to your user name
* Commit your changes with `git add .; git commit -m "Configure Twitter"`
* Deploy Little-Corner to Heroku with `git push heroku master`


#### Untappd

* Register your application at https://untappd.com/api/register?register=new
    * Set the Email address to your email address (crazy, right?)
    * Set the Application Name to "Little-Corner" (or something similar, if they require unique names)
    * Set the Support URL to "http://YOURDOMAIN/contact"
    * Set the Description of your app to "Little Corner pulls your entire web presence into one place."
* Edit the `/config/environment.rb` file:
    * Set the value for `ENABLE_UNTAPPD` to true
    * Set the value for `UNTAPPD_CLIENT_ID`
    * Set the value for `UNTAPPD_CLIENT_SECRET`
    * Set the value for `UNTAPPD_GMT_OFFSET`
        * Go to http://whatismytimezone.com/ and locate the first line that starts with `The current time is`... It will indicate your +/- GMT offset. For example, `The current time is Sat Jul 06 2013 12:06:26 GMT-0400 (EDT)` indicates that the GMT offset is "-4" because of the `GMT-0400` part of the line.
* Commit your changes with `git add .; git commit -m "Configure Untappd"`
* Deploy Little-Corner to Heroku with `git push heroku master`