Skip to content
Rick Thomas edited this page Feb 6, 2012 · 3 revisions

Design guidelines

Architecture for a general app/framework, driven by our own application requirements and typical nodejs uses.

Node.js best practices

(whatever those may be)

Good applications for Node.js

soft real-time aka DIRT, events, streams, websockets
loosely coupled clients, servers, and services

"Best of breed" choice of modules (vs an existing framework)

learn, use, decide, know the options
architecture thinking for solutions the framework doesn't handle
an un-framework, loosely coupled, tuned to each application
keep alternatives open, opinions loosely held

popular module choice with good reasons
weight to readable quality code, supports various approaches (or small single purposed, swappable)

An existing framework is quick and complete if there is a good fit. For a variety of applications, we need the flexibility of a component approach.

Javascript and Coffeescript are welcome

API first

based on APIkit, including model sync by push
publish API docs
clients use our public API

Proxy to many web APIs

treat storage as a service API
accounts are just APIs

Share code on server and client

move processing to client while server coordinates
browserify, jsdom

Apps are loosely coupled

CORS site served from github, js request from atlantanodejs.org
offline local store, sync

Multiple hosts (even as mesh)

vps - sevaa, aws
git push - no.de, ...

Boilerplate for multiple clients

mobile and desktop web clients

backbone

We'll create some basic models, views, etc. I want to go a step further and create some simple views with some basic css that people can build off of. A big part of Node is going to be with mobile web and desktop web. We should make that core to this project.

We'll use a nice grid css and boiler plate html 5 so it's not that difficult. We are building off of other people.

##Other examples of boilerplate and modular frameworks

https://github.com/datapimp/backbone-express-mongoose-socketio

drumkit plugin approach

other "non-framework"

derby