GithubHelp home page GithubHelp logo

captainjojo / snowshoe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ludovic-gonthier/snowshoe

0.0 2.0 0.0 514 KB

GitHub dashboard to keep tracks on your ongoing PR.

Home Page: http://www.snowshoe.report/

JavaScript 96.87% CSS 3.13%

snowshoe's Introduction

SnowShoe Build Status Coverage Status

GitHub dashboard to keep tracks on your ongoing PR.

SnowShoe

Requirements

  • Node v0.12.2
  • Gulp

Install

First clone the repo:

git clone [email protected]:ludovic-gonthier/snowshoe.git

If you do not have NodeJS installed yet, we recommend you use Nvm :

cd snowshoe
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash

## Install the correct node version
nvm install
## Or use the already installed version
nvm use

The project is running tasks with Gulp. To install it:

npm install -g gulp

Then install the project dependencies:

npm install

Github application

While npm is installing dependencies, create an application on Github. For the field Authorization callback URL follow this pattern: <your.domain.com>/auth/github/callback, for Snowshoe to be able to log in to github. After the application creation, note the Client ID and the Client Secret and set the environment variables in .env (we use dotenv) file:

e.g.:

SERVER_SECRET="xxxxx"
GITHUB_CLIENT_ID="xxxx"
GITHUB_CLIENT_SECRET="xxxxx"
GITHUB_POLL_TIMEOUT=60
SNOWSHOE_HOST="127.0.0.1:3000"
SNOWSHOE_APP_PROTOCOL="http"
SNOWSHOE_APP_DISPLAY_PR_TITLE="false"
PORT=3000

Snowshoe uses Browserify to regroup all javascript used in a page in one file. In addition to that, we transform the JSX files into plain javascript. To generate the file run:

gulp reactify

An finally run the server:

gulp server

You can change the port on which the application runs by changing the PORT environment variable. e.g.

PORT=8500

Full installation instructions

git clone [email protected]:ludovic-gonthier/snowshoe.git
cd snowshoe

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash
nvm install

npm install -g gulp
npm install

# create a .env file with
# SERVER_SECRET="xxxxx"
# GITHUB_CLIENT_ID="xxxx"
# GITHUB_CLIENT_SECRET="xxxxx"
# GITHUB_POLL_TIMEOUT=60
# SNOWSHOE_HOST="127.0.0.1:3000"
# SNOWSHOE_APP_PROTOCOL="http"
# SNOWSHOE_APP_DISPLAY_PR_TITLE="false"
# PORT=3000

gulp reactify
gulp server

Heroku deployment

You can deploy a sandbox or production instance using the following button.

Deploy

In order to set the environment variables properly you need to create an application on github. Once it is created update the heroku environment variables, you will find more information below.

Environment variables definition

Exhaustive list of variables:

  • SERVER_SECRET: secret used for sessions, set it to a long random string
  • GITHUB_CLIENT_ID: github client id you got from creating the app on github (see above)
  • GITHUB_CLIENT_SECRET: github secret from last step
  • GITHUB_POLL_TIMEOUT: control timeout when calling out github api (default: 60 seconds)
  • SNOWSHOE_HOST: Host used in the Github Oauth callback (can contain the port as much as the hostname)
  • SNOWSHOE_APP_PROTOCOL: "https" or "http", on heroku you can safely use https
  • SNOWSHOE_APP_DISPLAY_PR_TITLE: Weither the application should display the PR titles
  • PORT: do not set this variable, Heroku sets it for you

Personnal Access Token

You can use Github generated personnal Token to access your dashboard. Simply add the access_token to the url:

http://<application_domain_name>/?access_token=<your_personnal_token>

Make sure the token has access to these scopes:

  • repo
  • user
  • read:org

snowshoe's People

Contributors

ludovic-gonthier avatar arnaudlimbourg avatar agallou avatar fpietka avatar sinhix avatar

Watchers

James Cloos avatar Jonathan Jalouzot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.