wiki:RCLCouchAppArchitecture

Reformed Churches Locator's Application Architecture as a CouchApp?

Update: We no longer use this architecture precisely, because we are using Hoodie instead of a CouchApp?. But the end result is nearly the same as what is described below.

CaneyPUGgies has been trying out writing Reformed Churches Locator as a CouchApp? instead of as a TurboGears application, because CouchDb? provides peer-to-peer database replication as one of its core features, that's a feature Reformed Churches Locator needs, and by using CouchDB, we won't have to code that relatively complex feature ourselves.

Reformed Churches Locator's (RCL) architecture is set up like what Mikeal describes here where a Node.js changes listener handles server-side processing (currently RCL needs to go get the contents of a remote URL (a church directory page) and process its HTML):

http://jsconf.eu/2010/speaker/nodejs_couchdb_crazy_delicious.html

So instead of this architecture (which is TurboGears' pattern):

JavaScript? in browser/client < --- > server-side code < --- > database

RCL is like this:

JavaScript? in browser/client < --- > database < --- > server-side code in Node.js.

This half of the application:

JavaScript? in browser/client < --- > database

is a CouchApp?. See the following for an explanation of a CouchApp?.

http://vimeo.com/26147136#at=23
http://vimeo.com/18808177#
http://couchapp.org/page/videos

We're using the Python couchapp script (so all design doc code is broken out into separate files rather than being in just one file) and Backbone.js to structure the application. We'll use Mustache templates. We're using JQueryUI for widgets, and will probably use Bootstrap for a CSS framework, because Bootstrap's responsive design by default is a great feature.

http://bootswatch.com/ indicates Bootstrap might provide at least as much themability as JQueryUI.

Last modified 2 years ago Last modified on 12/30/15 21:43:15