9.1. Installation — Apache CouchDB 2.0 Documentation

### Navigation

- API Reference
- Config Reference |
- next |
- previous |
- Apache CouchDB 2.0 Documentation »
- 9. Fauxton »

# 9.1. Installation

Recent versions of node.js and npm are 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 /fauxton/_design/fauxton/index.html

### Understanding 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.

### Navigation

- API Reference
- Config Reference |
- next |
- previous |
- Apache CouchDB 2.0 Documentation »
- 9. Fauxton »