9.1. Installation

A recent of node.js and npm is required.

9.1.1. Get the source

Clone the CouchDB repo:

$ git clone http://git-wip-us.apache.org/repos/asf/couchdb.git
$ cd couchdb

9.1.2. Fauxton Setup

Install all dependencies:

couchdb/ $ cd src/fauxton
couchdb/src/fauxton/ $ npm install

Note

To avoid a npm global install add node_modules/.bin to your path:

export PATH=./node_modules/.bin:$PATH

Or just use the wrappers in ./bin/.

Development mode, non minified files:

./bin/grunt couchdebug

Or fully compiled install:

./bin/grunt couchdb

9.1.3. Dev Server

Using the dev server is the easiest way to use Fauxton, specially when developing for it:

grunt dev

9.1.4. Deploy Fauxton

Deploy Fauxton to your local CouchDB instance:

./bin/grunt couchapp_deploy

The Fauxton be available by http://localhost:5984/fauxton/_design/fauxton/index.html

Understang Fauxton Code layout

Each bit of functionality is its own separate module or addon.

All core modules are stored under app/module and any addons that are optional are under app/addons.

We use backbone.js and Backbone.layoutmanager quite heavily, so best to get an idea how they work. Its best at this point to read through a couple of the modules and addons to get an idea of how they work.

Two good starting points are app/addon/config and app/modules/databases.

Each module must have a base.js file, this is read and compile when Fauxton is deployed.

The resource.js file is usually for your Backbone.Models and Backbone.Collections, view.js for your Backbone.Views.

The routes.js is used to register a url path for your view along with what layout, data, breadcrumbs and api point is required for the view.

ToDo items

Checkout JIRA for a list of items to do.