Couch

Standalone CouchDB Application Development Suite

With Couch you can easy build a standalone CouchDB application. Couch aims to bring some of the Rails beauty to CouchDB. Currently Couch supports Rails style Generators you will love, using the same awesome Thor library used in Rails 3.

Why?

Why do we need a new CouchDB Application Development Suite? We already have the powerful CouchApp.

I miss some beauty. I miss some elegance on the command line.

I know my attempt is almost a small little step towards the beauty I aspire. I try to pilfer the most of now: From CouchApp and Ruby on Rails. So here we go:

Couch is designed to structure standalone CouchDB application development for maximum application portability.

Web development that doesn’t hurt

Couch is a set of open-source tools that’s optimized for programmer happiness and sustainable productivity. It lets you write beautyful code by favoring convention over configuration.

Write apps using just JavaScript and HTML

Render HTML documents using JavaScript templates run by CouchDB. You’ll get parallelism and cacheability, *using only HTML and JavaScript*. Building standalone CouchDB applications according to correct principles affords you options not found on other platforms.

What comes next

At the moment, Couch supports generating a scaffold application, pushing to a CouchDB server and pulling from a CouchDB. Couch injects the !code and !json makros introduced by CouchApp.

The next big steps are:

  • make use of mustache.js in generators

  • build a lightweight JavaScript library to assist client side JavaScript work

  • enhance generators to build a full flavored scaffold with all CRUD operations

I need your help!

The reason why I release that project in such an early state is that I beleave it’s you, who invent that desired beauty!

Prerequisites

All you need is Ruby and its packet manager RubyGems. If you do not have a Ruby environment,

apt-get install ruby rubygems

will probably install the required packages. If you run into any troubles, visit docs.rubygems.org/read/chapter/3 for in deapth installation notes for RubyGems, and www.ruby-lang.org/en/downloads/ for help on installing Ruby.

Of course, Couch relies on CouchDB. You do not have to install your own CouchDB server if you have access to a CouchDB database over the internet, but I recommend it for development. If you are new to CouchDB, install it:

apt-get install couchdb

Take a look at the CouchDB Wiki, where the page wiki.apache.org/couchdb/Installation describes the installation for all common systems.

Installation

Couch installation is easy. Couch is available as RubyGem, hosted on rubygems.org/ (aka Gemcutter) and Rubyforge (rubyforge.org). Install the gem with

gem install couch

Gettings started

Once installed, your system will have the brand new couch command. So just type

couch

and relax.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Commit, do not mess with rakefile, version, or history.

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Johannes Jörg Schmidt, TF. See LICENSE for details.