Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/no9/coolamber

A modular application container for node.js
https://github.com/no9/coolamber

Last synced: 5 days ago
JSON representation

A modular application container for node.js

Awesome Lists containing this project

README

        

coolamber
=========
[![build status](https://secure.travis-ci.org/No9/coolamber.png)](http://travis-ci.org/No9/coolamber)
Introduction
------------
coolamber is an Multi-Micro Application container that enables rapid development and deployment of loosely coupled web applications.
It is based on Inversion Of Control (IoC) principles but does not intentionally follow any previous implementation dogmatically.

It is implemented in javascript and runs on [node.js](http://nodejs.org/) and a large portion of the lower level code is provided by [flatiron from nodejitsu](https://github.com/nodejitsu/)

A coolamber container is a reference implementation of how to integrate the new breed of single page applications (SPA) into a cohesive orchestration of application services.

The design intends to maintain the flexibility and managability inherent in SPAs while providing the benefit of sharing certain cross cutting concerns to improve the development and deployment story.

Features
------------------
From a general application architecture perspective coolamber provides the following infrastructure:

- Remote, Managed and Static Application Hosting
- Application Partitioning For Managability
- Authentication
- Authorisation
- Logging
- Restful Service Hosting
- Persistance Strategy

These pieces are designed to be swappable and none are mandated.
We see them laid out in the following manor:

![System Design](http://i.imgur.com/RW6Ol.jpg)

Get Started
-----------
###Check out the project
```
$ git clone [email protected]:No9/coolamber.git
$ cd coolamber
```
###Run
```
$ node app.js
```
###Browse
In the your favourite web browser go to [localhost:9000/home](http://localhost:9000/home)
You will find a tutorial on that page.

More to come