Fauxton is a modular CouchDB dashboard and Futon replacement.
This is the initial implementation of Fauxton, focused on fleshing out the various pieces of functionality and as a test bed for new ideas. Full functionality and design considerations will be added later.
Current items of interest:
- Live JSON editor with dynamic JS Hinting and error popups
- Initial plugin system
- Minimal externally loadable plugin example
- Data popups for additional db info on _all_dbs page
- CouchDB API compliant urls
A recent of node.js and npm is required.
1. Clone the Couchdb repo: https://github.com/apache/couchdb.git or http://git-wip-us.apache.org/repos/asf/couchdb.git cd couchdb
cd src/fauxton # Install all dependencies npm install
Using the dev server is the easiest way to use fauxton, specially when developing for it. grunt dev
# 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
Follow the "Fauxton Setup" section, Edit settings.json variable root where the document will live. eg. "/_utils/fauxton/" then: ./bin/grunt couchdb This will install the latest version of Fauxton into `/share/www/fauxton`
There are two ways to run the tests. `grunt test` will run the tests via the commandline. It is also possible to view them via the url `http://localhost:8000/testrunner` when the dev server is running. Refreshing the url will rerun the tests via phantomjs and in the browser.
./bin/grunt couchapp_deploy - to deploy to your local [Couchdb instance] (http://localhost:5984/fauxton/_design/fauxton/index.html)
Each bit of functionality is its own seperate module or addon. All core modules are stored under
app/module and any addons that are optional are under
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
Each module must have a
base.js file, this is read and compile when Fauxton is deployed. A
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.
Checkout Jira for a list of items to do.