# 8.1. Fauxton Setup

Fauxton is included with CouchDB 2.0, so make sure CouchDB is running, then go to:

    http://127.0.0.1:5984/_utils/

You can also upgrade to the latest version of Fauxton by using npm:

    $ npm install -g fauxton
    $ fauxton

(Recent versions of node.js and npm are required.)

## 8.1.1. Fauxton Visual Guide

You can find the Visual Guide here:
  http://couchdb.apache.org/fauxton-visual-guide

## 8.1.2. Development Server

Recent versions of node.js and npm are required.

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

    $ git clone https://github.com/apache/couchdb-fauxton.git
    $ npm install && npm run dev

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

### 8.1.3.1. ToDo items

Checkout JIRA or GitHub Issues for a list of items to do.