Installation Instructions - TeraLogics/TotalBriecall GitHub Wiki

Overview

Browsers

This application has been tested with the latest versions of Chrome, Firefox, IE11, Mobile Safari and Mobile Chrome. It uses modern technologies that may not be supported by older browsers.

Deployment Configurations

This application utilizes a number of external APIs to provide users with a robust and modern experience. Although none of the APIs are required, and the site will attempt to gracefully handle the lack of them, the application works best when they are configured correctly.

See Configurations

Heroku

We wanted to make deployment as easy as possible and we actually tried a few different things. Heroku provides a simple url that configures the application for you based on what the application requires. We chose to put this on the GitHub page for ease of access. Clicking the button provides a simple one step deployment. The following instruction will walk you through exactly what you need to do to deploy this application as well as link you to any additional walkthroughs on how to configure advanced options.

Step-By-Step Deployment Instructions for Total Briecall

  1. Navigate to GitHub.
  2. Scroll to the README section and click the 'Deploy to Heroku' button
    NOTE: If you do not have a Heroku account you may need to create one at this point. See Login / Create Account for further instructions.
  3. Fill in the App Name field (this is optional).
  4. Scroll down to the Config Variable section.
    1. If you have a Facebook App ID enter it in the FACEBOOK_APPID field. If you do not have one, you can deploy the application and add your App ID later. Your application will not have direct Facebook sharing integration until this is configured. Follow the link for instructions on Creating a Facebook Application ID.
    2. If you have an OpenFDA API key enter it into the OPENFDA_APIKEY field. If you do not have an OpenFDA API key, you can still deploy the application and add an API key later. This key is not required, but if it is supplied the OpenFDA API will allow more requests per minute and total requests per day. Follow the link for instructions on Getting an OpenFDA API Key.
    3. If you have a StatusPage.io status page, go ahead and enter the url in the STATUS_PAGE_IO_URL configuration variable. If you do not supply this, there will not be an externally available status page for your application. This integration is not required, but is a nicety for your users.
  5. Click the 'Deploy for Free' button.

To modify any additional configuration values see Configuration Settings

Login / Create Account

  1. Open a browser and navigate to Heroku
  2. Enter your 'Email address' and 'Password'
    NOTE: If you do not have a Heroku account, then select the Sign up option at the bottom and fill in the required fields.
  3. Click the 'Log In' button
    NOTE: You will need an active credit card associated with your account to save add-ons to the application. To do this, click your user name from the top of the left menu and select "Manage Account." On the page that loads, select "Billing" and follow the steps to add a credit card. No charges to your card will result from this process. The card is required simply to proceed.

Enabling CI (Continuous Integration)

NOTE: You must be an administrator of the GitHub repository in order to configure this feature, and this application must also be hooked to a GitHub repository.

  1. Click on 'Personal Apps' in the left hand menu
  2. Click on your application (ex 'total-briecall-example')
  3. Click the 'Deploy' menu link at the top
  4. Scroll down to the 'Automatic deploys' section
  5. Select the 'master' branch
  6. Select the 'Wait for CI to pass before deploy' check box, then click the 'Enable Automatic Deploys' button

Enabling Continuous Integration

Creating an Open FDA API Key (Optional)

  1. Visit https://open.fda.gov
  2. Click on the API Basics link
  3. Scroll down to the 'Your API Key' section
  4. Enter you email address
  5. Click the 'Get API Key' button
  6. Copy the API key and put it in the application's configuration variable named OPENFDA_KEY

OpenFDA API Key

Creating a Facebook Application ID (Optional)

Facebook integration was not completed for production due to the waiting period necessary by Facebook to approve sharing. Although the feature was usable by our team in the development environment, we choose not make it required for anyone else deploying our code, and did not enable it on https://www.totalbriecall.com

  1. Log into or create an account on Facebook.

  2. Go to Facebook's Developers page. It will ask you to accept their user agreement. If you agree, continue.

  3. In the upper left hand corner, there should be a link for 'My Apps'. Click the button, then select 'Add a New App':

    New App

  4. From the modal dialog that comes up, select 'Website':

    Website App

  5. Enter in a name for your app. We needed our main app as well as some development apps, so you can see how we named ours below. Enter a name, and then click 'Create New Facebook App ID'.

    App Name

  6. Wait for Facebook to generate your app. Once it's done, you will get a small options dialog. Unless you have made another app before that you want to attach this as a test app to, select no for the first option. For category, we went with 'Reference'. Afterwards, click 'Create App ID'.

    New App Dialog

  7. It will show you more information about their SDK, which you don't need. At the bottom of the page should be a box for the URL you will be using with the app. Our main app uses 'totalbriecall.com'. Enter whatever URL your app will be using. It is important to match the URL correctly. Once entered, hit 'Next'.

    New App Dialog

  8. Facebook will then show you some more integration information, which you also don't need. At the bottom under 'Next Steps' is a link to the app's Developer Dashboard.

  9. Go to your app's Developer Dashboard. At the top will be a window with 'App ID'. Use that ID in your Heroku configuration under the key 'FACEBOOK_APPID'.

    App Dashboard