Version 7 (modified by timblack1, 6 years ago) (diff)


Reformed Churches Locator's Application Architecture as a CouchApp?

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):

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?.

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. indicates Bootstrap might provide at least as much themability as JQueryUI.