Developer Onboarding - Relief-1/Relief1 GitHub Wiki
Developer Onboarding
The importance of Relief1 and Development Quality.
Relief1’s mission is to deliver a permanent service that will provide the information and tools needed by those impacted by disasters, volunteers, organizations and governmental agencies. To accomplish this, we must provide a service that is:
-
fault-tolerant
-
reliable
-
secure
-
high performance
-
scalable
-
well tested
To reach our goal we will strive for the highest quality work possible. The importance of our mission cannot be underestimated. We aren’t saying this to scare you, but to convey the importance of the cause and the standard of excellence that we desire.
We want you if:
-
you’re a person of integrity
-
you will give respect to those on the team
-
you work well with others
-
you will be a standard of excellence
-
you will raise the bar for those around you
By being a part of the Relief1 team, you will help make a difference in the life of a mother looking to reconnect with a missing daughter, a father who’s searching for shelter for his family, and a son in need of food to eat and clothes that fit.
With your aid and support, Relief1 will become a reality.
##Language
Currently, we are using server-side JavaScript on top of node.js to build Relief1. Our goal is to build a fault-tolerant, scalable, fast and secure system using node.js as the backbone of the service. JavaScript has been around for quite some time, there are many resources on the language and best of all, many people know it. We hope to leverage to our advantage the large pool of potential developers that know JavaScript as well as the promising technology that is node.js.
Want to learn more about JavaScript and node.js? We are collecting a list of articles, books, links and tutorials to help you get up to speed quickly.
Instructions for Getting Setup
Operating System
Windows: Start at step 1
Mac: Make sure you have the following installed:
-
Brew -
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
-
Xcode - Found on OS Install DVD or the App store on Lion
-
Start at step 3
Linux & FreeBSD: Start at step 3
Steps for getting started developing with Relief1
Step 1: Download & Install Virtual Box - https://www.virtualbox.org/wiki/Downloads
Step 2: Download & Install Ubuntu 11.04 - http://www.ubuntu.com/download/ubuntu/download
Step 3: Install Git
-
Debian/Ubuntu -
sudo apt-get install git
-
Fedora -
sudo yum install git
-
Brew -
sudo brew install git
Step 4: Install OpenSSL Dev
-
Debian / Ubuntu -
sudo apt-get install libssl-dev
-
Fedora -
sudo yum install libssl-dev
Step 5: Install Node.js Stable
-
Mac - Xcode is required. Find it on your OS disk or the App store
-
Git install instructions - https://github.com/joyent/node/wiki/Installation
-
Direct Download - http://nodejs.org/#download
Step 6: Install Curl (if necessary)
-
Debian/Ubuntu -
sudo apt-get install curl
-
Fedora -
sudo yum install curl
-
Direct install - http://curl.haxx.se/download.html
Step 7: Install NPM (Node Package Manager)
-
Instructions - https://github.com/isaacs/npm#readme
-
Run -
curl http://npmjs.org/install.sh | sudo sh
##Setting up Git & GitHub
Step 1: Setup a GitHub account if you haven’t already - https://github.com/signup/free
Step 2: Fork Relief-1 to your repository - http://help.github.com/fork-a-repo/
Step 3: Setting up Git to work with GitHub
Step 4: Git Reference - http://gitref.org/
Relief1 Programming Standard Operating Procedures
Javascript Coding Style Guide: Link
Git Work Flow: http://nvie.com/posts/a-successful-git-branching-model/
Note: Our integration branch is master
.
List of Stories/Issues: https://www.assembla.com/spaces/relief1/tickets?id=abvG8uLPqr4jqzeJe5cbLr
-
Create a branch with some meaningful name.
-
Select a story/issue to work on.
-
Hack (tests for new features are appreciated)!
-
Verify that the tests are still passing (nodeunit test).
-
Commit.
-
Push.
-
Pull request.
-
Update ticket with new status
Contributors: Maciej Malecki, Carter Leffen