Skip to content
Tiffany Tseng edited this page Sep 2, 2016 · 3 revisions

Build in Progress is built on Ruby on Rails 3.2.15 and on Ruby 2.1.7. It uses postgresql, so you must have this setup on your machine (brew install postgresql). If you don't have Rails set up on your machine, you can follow the instructions on this page: Go Rails Ruby on Rails Setup

Clone the repo

To begin, clone the repo

ADD GIT CLONE COMMAND HERE

Run Bundle to install Gems

Run bundle to install all the necessary gems. Unfortunately, bundle errors tend to be very OS specific, so StackOverflow will be your friend in debugging those pesky errors...

Add credentials to application.yml

cd into the app directory and create a copy of config/application.example.yml:

cp config/application.example.yml config/application.yml

You should edit application.yml with your credentials, described below:

APP_NAME: "APP NAME"
AWS_ACCESS_KEY_ID: "your_aws_access_key_id"
AWS_ACCESS_KEY: "your_aws_access_key"
AWS_BUCKET: "your_aws_bucket_name"
DB_POOL: "10"
DEV_HOST_URL: "0.0.0.0:3000"
PRODUCTION_HOST_URL: "production_url"
GMAIL_USERNAME: "your_gmail_username ([email protected])"
GMAIL_PASSWORD: "your_gmail_password"
  • APP_NAME This is the name of your app. This appears across the application, including in the title of the webpages, on the homepage, and in the email confirmations. Search the repo for ENV["APP_NAME"] to see all references to it.
  • AWS_ACCESS_KEY_ID This is the access key ID for AWS S3, which you will need to register for if you want to store images and videos on AWS S3
  • AWS_ACCESS_KEY The access key for AWS S3 for storing assets
  • AWS_BUCKET The name of the bucket where you're storing assets
  • DB_POOL Used for Unicorn on Heroku to enable concurrent database connections
  • DEV_HOST_URL The URL for hosting your app locally
  • PRODUCTION_HOST_URL The URL for your production app
  • GMAIL_USERNAME The account you're connecting to send email confirmations to users (you'll need to set this up separately). Emails are sent when users confirm their registration when registering by email (and not using Google oauth), when users reset their passwords, and when they receive notifications for activities on their projects (such as when someone comments on their projects, follows them, adds their projects to a collection, etc.)
  • GMAIL_PASSWORD The password for the Gmail email account.

Note: When setting up your Gmail as a mailer account, you will need to go into gmail settings and enable 'access for less secure apps'

Create your local database

Now you should create your database with rake db:setup

Run solr

You also need to run solr (otherwise, you get errors when you create new steps):

rake sunspot:solr:run

Start a redis-server and sidekiq

Install redis if you don't have it brew install redis Then run redis-server and bundle exec sidekiq as well to enable background tasks.

Run the server locally

rails s

If you use the default dev_host, you can access your app at localhost:3000

You should see the following page:


Extras

OmniAuth Google If you want to enable users to log in with their Google Login (which will bypass the email confirmation process), you will need to follow the instructions outlined on this page: OmniAuth Google OAuth2 Strategy Gem


Troubleshooting

Issues with registering for an account

Make sure you have your Gmail account information stored in application.yml and have enabled less secure apps for this account.

Issues uploading images / video

Sign up for an AWS S3 account and enter your access key ID, access key, and bucket name in application.yml.

Heroku Setup

If you're interested in hosting your app on Heroku, continue on to Running on Heroku