Skip to content
This repository has been archived by the owner on May 28, 2023. It is now read-only.

Hacking on Houston

Blake Kostner edited this page Apr 7, 2016 · 11 revisions

We'd love your help hacking on Houston! Getting a local development environment set up is easy, and we've prepared a short guide to walk you through step-by-step. Just follow along below, and if you have any issues, don't hesitate to ask for help.

Configuration

  1. You'll need to set up Houston's config file, config.js. Copy the config file template:

cp config.example.js config.js

  1. Then, create a GitHub OAuth application for testing Houston: https://github.com/settings/applications/new.

Name the application "Houston Local", and set the homepage and callback URLs to your local machine, like this:

Homepage URL: http://localhost:3000

Authorization callback URL: http://localhost:3000/auth/github/callback

It should look something like this:

  1. Click 'Register application', and then copy and paste the newly created application's Client ID into config.js under github.clientID and copy the Client Secret under github.secret.

    Your config.js should now include a section that looks something like this:

// https://github.com/settings/developers
export const github = {
  client: '1e9ec151a7728abaa304',
  secret: '9ccde02a1633b27232ee07662b7a688c43018b1f',

  // Post data to GitHub?
  post: false,

  // Enable GitHub hooks?
  hook: false
}

Running

  1. Install MongoDB

sudo apt-get install mongodb

  1. Install node and npm

    Depending on your distribution of choice, you might need to download and compile node from the website. Keep in mind that Houston requires node version 4.2.6 or above.

  2. run npm install to fetch needed dependencies.

  3. Start the server with npm run master and start the slave with npm run slave.

Accessing

Open up a browser and visit http://localhost:3000, and you should see the Houston website. Congratulations! Please take this time to read the contributing guidelines before submitting code or issues.