Skip to content

ONCHoldings/graft.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Graft.js

Graft is a new javascript 'framework' developed by ONC Holdings, aka StudentEdge.

It has a slightly different (and ancillary) approach from the other frameworks out there, in that it is trying to provide a standardised 'execution environment' between the server and the browser, to allow you to more easily deploy the same codebase on both platforms.

It tries to even out the differences between the two environments, and provide some helpful functionality to implement parts that are just different.

It's closest neighbour in the world of 'frameworks' would probably be AirBnB's Rendr, except that it doesn't assume you want to render anything on the server, or even anything at all.

Features

Render on the server or the client : Or both. Different projects have different needs.

Seamless build automation : We make use of browserify and related middleware, to keep the entire packaging aspect as hands off as possible.

Keep our assumptions out of your code base : We try our best to avoid requirements from your code.

(almost) Everything is optional: Most of it's functionality is turned off by default, and easily enabled.

Explicit is better than implicit: We try to stay away from declarative structures when trying to solve imperative problems.

Projects

package description build status
graft.js Main Library Build Status
graft-example Example project Build Status
graft-auth Pluggable authentication layer Build Status
graft-bootstrap Twitter bootstrap integration via LESS Build Status
graft-couch CouchDB database adaptor Build Status
graft-mockdb Simple data layer to mock up data access for tests Build Status
graft-schema JSON Schema validation of models Build Status

Installation

npm install --save graftjs

Running

node server.js

Usage

See graft-example for a more complete example.

Run tests

npm test