Git Product home page Git Product logo

couchdb-fauxton's Introduction

Fauxton

Fauxton is the new Web UI for CouchDB. To get it running in development on your machine. Follow the steps below.

CouchDB is Required

Install couchdb from docs here: http://couchdb.readthedocs.org/en/latest/install/index.html

Setup Fauxton

A recent of node.js and npm is required.

Fork this Repo

  1. Fork this repo: https://github.com/apache/couchdb-fauxton.git
  2. add upstream to the main git repo: git remote add git-repo https://github.com/apache/couchdb-fauxton.git
  3. add upstream to the private apache repo: git remote add upstream http://git-wip-us.apache.org/repos/asf/couchdb-fauxton.git
  4. cd couchdb-fauxton
  5. npm install

Install the grunt-cli

In case you don't have the Grunt command line interface installed, run the following command:

npm install -g grunt-cli

If you run into a permissions problem, run that last command as an administrator:

sudo npm install -g grunt-cli

NOTE: Before you run Fauxton, don't forget to start CouchDB!

Dev Server

Using the dev server is the easiest way to use Fauxton, specially when developing for it. Copy or symlink the settings.json.default file if you'd like to see the styletests addon).

And then...

grunt dev

You should be able to access Fauxton on http://localhost:8000

Prepare Fauxton Release

Follow the "Fauxton Setup" section, edit settings.json variable root where the document will live, e.g. "/_utils/fauxton/" then:

grunt couchdb

This will install the latest version of Fauxton into /share/www/fauxton

Running Tests

You can run the tests either via the command line or your browser.

Command line:

grunt test

Browser: make sure the dev server is running, and enter the path (not URL) to your runner.html file in your browser.

file://path/to/couchdb-fauxton/test/runner.html

Refreshing the URL will re-run the tests via PhantomJS and in the browser.

To Deploy Fauxton

To deploy to your local CouchDB instance:

grunt couchapp_deploy

Understanding the 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. It's 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 compiled when Fauxton is deployed. A resources.js file is usually used 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.

Check out writing_addons.md for more information on writing your own addons.

Todo Items

Want to get involved? Check out Jira for a list of items to do.

(Optional) To avoid a npm global install

# Development mode, non minified files
npm run couchdebug

# Or fully compiled install
npm run couchdb

couchdb-fauxton's People

Contributors

garrensmith avatar deathbearbrown avatar robertkowalski avatar chewbranca avatar bigbluehat avatar benkeen avatar seanbarclay avatar ocelotpotpie avatar sebastianrothbucher avatar mikewallace1979 avatar kxepal avatar janl avatar drsm79 avatar ryanramage avatar willholley avatar tbranyen avatar thriqon avatar dch avatar candeira avatar mikerhodes avatar targos avatar nickcolley avatar nolanlawson avatar peterdavehello avatar robin-drexler avatar samhiatt avatar matrixise avatar vmx avatar

Watchers

Kuben Thathiah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.