You cannot use sqlite3 on Heroku, therefore you must add something like this to your Gemfile:

group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end

Now run:

bundle update

Your app is now ready to be executed locally with:

rails server

But this time we are aiming higher, to the cloud!

Warning

Despite the instructions in contrary, make sure to set this in your config/application.rb before proceeding:

config.assets.initialize_on_precompile = true

And run:

rake assets:precompile RAILS_ENV=production

This command will precompile your assets locally before before uploading to Heroku. You must repeat this command every time you change your assets and before deployment, because Heroku doesn't support initializing the environment during precompilation but the i18n-js gem needs it. Note: replace "production" with whatever other environment your Heroku app is running in if necessary.

If you find that after deployment your dev website starts producing Javascript errors like Object [object Object] has no method 'select2' you need to remove the precompiled assets from your dev environment by running:

rake assets:clean

This should fix the problem.

3.) Git

Git and heroku are highly related, in fact you will push a local git repository to heroku:

Enter your project folder:

cd myawesomesocialstream

and execute: (of course you are going to need git sudo apt-get install git or http://git-scm.com)

You also should use a service such as Amazon S3 to save files and avatars. Otherwise, they will be lost across deployments. Configure your paperclip s3_host_name to the appropriate location in your config/environments/production.rb