Skip to content

larvalabs/pullup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e4e3778 · Oct 27, 2017
Apr 28, 2014
Mar 8, 2016
Jul 6, 2016
Apr 4, 2016
Mar 3, 2016
Jul 6, 2016
Mar 4, 2014
Apr 27, 2014
Mar 16, 2016
Feb 12, 2014
Jul 6, 2016
Feb 27, 2014
Mar 2, 2016
Feb 12, 2014
Mar 4, 2014
Feb 11, 2014
Feb 27, 2014
Feb 27, 2014
Oct 27, 2017
Feb 9, 2014
Mar 27, 2016
Jan 28, 2014
Feb 17, 2014
Feb 27, 2014
Feb 14, 2014
Feb 6, 2014
Aug 5, 2015

Repository files navigation

PullUp Build Status Code Climate Gitter chat

A website you join via pull request. See it live at http://pullup.io

What would it be like if every user of a site had contributed some code? Let's find out! Right now the site is little more than a terrible Hacker News type thing, but let's see if it can grow into something more.

How to join

Summary:

  • Fork and set up project for development (see below)
  • Add your GitHub username to the authorized users list.
  • Add a feature, fix a bug, improve the design, etc.
  • Submit a pull request! When we merge, you'll be allowed to log in.

Development Setup

Prerequisites: Node.js and MongoDB.

First, register a new developer application on GitHub. Set the Homepage URL to your development server (example: http://localhost:3000) and set your Authorization callback URL to http://localhost:3000/auth/github/callback. Take note of the Client ID and Client Secret, as you will need them in the next steps.

# Fetch only the latest commits.
git clone git@github.com:larvalabs/pullup.git

cd pullup

# Install NPM dependencies
npm install
npm install -g gulp

# Set the following environment variables:

export GITHUB_CLIENTID=CLIENTID
export GITHUB_SECRET=SECRET

# Or, on Windows...

SET GITHUB_CLIENTID=CLIENTID
SET GITHUB_SECRET=SECRET

Once those are set you can run the local development version:

node app.js

Or start the app with foreman:

foreman start -f Procfile.local

And perform build tasks and linting with:

gulp

You can find out more technical details in the Readme for Hackathon Starter.

Seeding The Database

Firstly make sure you have installed grunt-cli globally

npm install -g grunt-cli

Once this has installed you can seed the database by running the following grunt task.

grunt db-seed

You may also wish to completely clear down the database, you can do so by running the db-clear task.

grunt db-clear

Pullup Dev Community

We hang out on Gitter

Using the Vagrant-based Development Environment

You'll need VirtualBox, Vagrant, and Ansible installed to use this environment.

Note: Windows users do not need Ansible installed. (A script will run and install Ansible on the guest machine for you)

Update the GitHub environment variables in vagrant/tasks/setup_app.yml

Fire up the Vagrant VM:

vagrant up

Ensure Ansible has run successfully and provisioned the boxes. If not, try again using vagrant provision

Then, ssh in and follow the installation steps:

vagrant ssh
cd /vagrant/
npm install
node app.js

Vagrant Development on a Windows Host

Windows lacks support for symlinks in synced folders. Use npm install --no-bin-links instead of npm install when installing.

Credits

This project is based on the awesome Hackathon Starter project. Thanks @sahat!