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.
Summary:
- Fork and set up project for development (see below)
- Add a feature, fix a bug, improve the design, etc.
- Add your GitHub username to the authorized users list.
- Submit a pull request! When we merge, you'll be allowed to log in.
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.
IRC: #pullup on freenode (join via Webchat)
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
Windows lacks support for symlinks in synced folders. Use npm install --no-bin-links
instead of npm install
when installing.
This project is based on the awesome Hackathon Starter project. Thanks @sahat!