openpolitics/groupthink

View on GitHub
app.json

Summary

Maintainability
Test Coverage
{
  "name": "groupthink",
  "description": "",
  "scripts": {
    "postdeploy": "bundle exec rake db:schema:load"
  },
  "env": {
    "GITHUB_OAUTH_TOKEN": {
      "required": true,
      "description": "OAuth token for GitHub API access. Generate a token at https://github.com/settings/tokens."
    },
    "GITHUB_APP_ID": {
      "required": true,
      "description": "App ID for GitHub OAuth login. Generate an app at https://github.com/settings/developers."
    },
    "GITHUB_APP_SECRET": {
      "required": true,
      "description": "App secret for GitHub OAuth login. Generate an app at https://github.com/settings/developers."
    },
    "GITHUB_REPO": {
      "required": true,
      "description": "The GitHub repository that this app is monitoring. In the format '{username}/{repository}'"
    },
    "SITE_URL": {
      "required": true,
      "value": "https://your-unique-groupthink-app-name.herokuapp.com",
      "description": "The URL for this app. Unless you're setting up a CNAME, it'll be based on the app name you entered above."
    },
    "PROJECT_URL": {
      "required": true,
      "value": "",
      "description": "The URL for the project website that this app manages."
    },
    "PROJECT_NAME": {
      "required": true,
      "value": "",
      "description": "The name of the project that this app manages. This will be shown in the top left of the site and link to the PROJECT_URL."
    },
    "PROJECT_LOGO": {
      "required": false,
      "value": "",
      "description": "The logo for the project that this app manages. This will be shown in the top left of the site at a height of 20px."
    },
    "FAVICON_URL": {
      "required": false,
      "value": "",
      "description": "The URL for a shortcut icon to show in tab titles and bookmark lists."
    },
    "EMAIL_DOMAIN": {
      "required": true,
      "value": "example.com",
      "description": "Which domain should emails look like they come from?"
    },
    "BLOCK_WEIGHT": {
      "required": true,
      "value": "-10",
      "description": "The weighting for blocks. Normally a large negative value to make rejection of changes easier than adoption."
    },
    "YES_WEIGHT": {
      "required": true,
      "value": "1",
      "description": "The weighting for yes votes. Unlikely to be anything other than 1."
    },
    "NO_WEIGHT": {
      "required": true,
      "value": "-1",
      "description": "The weighting for no votes. Unlikely to be anything other than -1."
    },
    "MIN_AGE": {
      "required": true,
      "value": "7",
      "description": "How many days a proposal must be open for in order to be accepted."
    },
    "MAX_AGE": {
      "required": true,
      "value": "90",
      "description": "The longest (in days) a proposal can be open for in order to be accepted."
    },
    "PASS_THRESHOLD": {
      "required": true,
      "value": "2",
      "description": "How many weighted votes are required to pass?"
    },
    "BLOCK_THRESHOLD": {
      "required": true,
      "value": "-1",
      "description": "Proposals with votes below this threshold will be considered 'blocked' when calculating status."
    },
    "ALL_AUTHORS_CAN_VOTE": {
      "required": false,
      "value": "false",
      "description": "Do all authors automatically get the right to vote? (set to true or false)"
    },
    "BOOTSTRAP_CSS_URL": {
      "required": false,
      "description": "A URL for a Bootstrap 3 CSS file. If not specified, the default theme will be used"
    }
  },
  "formation": {
    "web": {
      "quantity": 1
    }
  },
  "addons": [
    "heroku-postgresql",
    "scheduler",
    "heroku-redis:hobby-dev",
    "sendgrid:starter",
    "bugsnag:tauron2"
  ],
  "buildpacks": [
    {
      "url": "heroku/ruby"
    }
  ]
}