Skip to content
This repository
Browse code

Merge pull request #27 from mmalecki/dev-readme

Developers, developers, developers!
  • Loading branch information...
commit 1c30259fc52887545bb8786f56fb47a201bc3c08 2 parents 9786ae7 + 7d5bcde
Charlie McConnell authored September 28, 2011

Showing 1 changed file with 91 additions and 0 deletions. Show diff stats Hide diff stats

  1. 91  doc/developers.md
91  doc/developers.md
Source Rendered
... ...
@@ -0,0 +1,91 @@
  1
+# Developers, developers, developers!
  2
+
  3
+Welcome onboard! It's so great to hear that you want to help us!
  4
+
  5
+## Tools
  6
+
  7
+Before you start hacking, you'll need few things:
  8
+
  9
+  * [node.js](https://github.com/joyent/node)
  10
+  * [npm](https://github.com/isaacs/npm)
  11
+  * [CouchDB](http://couchdb.apache.org/)
  12
+  * [Riak](http://wiki.basho.com/)
  13
+  * [git](http://git-scm.com/) (optional)
  14
+  * your favorite code editor
  15
+
  16
+### [node.js](https://github.com/joyent/node)
  17
+node.js is an evented I/O framework built on top of V8 JavaScript. This is
  18
+what gets Relief1 going. [Installing it is very easy](https://github.com/joyent/node/wiki/Installation).
  19
+
  20
+For Relief1 development, make sure you're using stable version (v0.4.x).
  21
+
  22
+### [npm](https://github.com/isaacs/npm)
  23
+npm is a node.js package manager. [Installation is even easier.](http://npmjs.org/).
  24
+
  25
+### [CouchDB](http://couchdb.apache.org/)
  26
+CouchDB is a document-oriented database with awesomeness integrated. We're using
  27
+it, because it's very safe - shutting down a CouchDB server by taking out the
  28
+power cord is perfectly valid and doesn't harm the data.
  29
+
  30
+#### Installation
  31
+Most Linux distributions have CouchDB in it's repositories, so installing it
  32
+should be pretty straightforward.
  33
+
  34
+Debian/Ubuntu: `sudo apt-get install couchdb`
  35
+Fedora: `sudo yum install couchdb`
  36
+
  37
+On Mac OS X you can follow [this instructions](http://guide.couchdb.org/draft/mac.html).
  38
+
  39
+CouchDB has detailed installation instructions in it's [wiki](http://wiki.apache.org/couchdb/Installation).
  40
+
  41
+### [Riak](http://wiki.basho.com/)
  42
+Riak is our secondary database, we use it for sessions.
  43
+
  44
+#### Installation
  45
+On Mac OS X, with brew: `sudo brew install riak`
  46
+
  47
+Unfortunately, neither Debian nor Fedora have Riak in it's repositories, but
  48
+thankfully, Riak provides various binaries. Please, refer to
  49
+[Riak wiki](http://wiki.basho.com/Installation.html) for further instructions.
  50
+
  51
+### git
  52
+This one is optional - you can download source tarball from GitHub.
  53
+
  54
+You can use it to clone our git repository to start working with our codebase: `git clone git://github.com/Relief-1/Relief1.git`.
  55
+
  56
+Workflow we're using is described in our README. It basically boils down to using
  57
+topic branches.
  58
+
  59
+#### Installation
  60
+Almost all Linux distributions have git in their repositories:
  61
+
  62
+Debian/Ubuntu: `sudo apt-get install git`
  63
+Fedora: `sudo yum install git`
  64
+
  65
+brew: `sudo brew install git`
  66
+
  67
+### What OS should I use?
  68
+At the moment, Windows isn't the best OS to work with node.js. You should be
  69
+perfectly fine with Mac OS X, but most of us use Linux (Fedora and Debian).
  70
+
  71
+### Code editor
  72
+Use whatever you're comfortable with. Some nice editors are:
  73
+
  74
+## node modules we're using
  75
+
  76
+  * [Hook.io](https://github.com/hookio)
  77
+  * [Cradle](https://github.com/cloudhead/cradle)
  78
+  * [node-static](https://github.com/Marak/node-static)
  79
+  * [settings](https://github.com/mgutz/node-settings)
  80
+
  81
+Please note that you don't need to care about installing them. Just
  82
+run `npm install` in main repo directory and npm will take care about that.
  83
+
  84
+### [Hook.io](https://github.com/hookio)
  85
+It's an awesome library which basically drives whole our architecture. It can
  86
+be described as a full featured I/O framework.
  87
+
  88
+If you're wondering, how it works, this
  89
+[series of videos by Marak Squires](http://www.youtube.com/user/MarakSquires)
  90
+is a great resource.
  91
+

0 notes on commit 1c30259

Please sign in to comment.
Something went wrong with that request. Please try again.