## For reasons of time and advancement in technologies, especially JS, this project is no longer maintained.
### Thank you for your support and interest in this project.

We personally think this is a good example of simplifying JS code in Node for these purposes and hopefully we'll have enough time to come back to this idea or something similar.

This project has favored great relationships and has provided a lot of learning for its participants

See you later! <3

<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
---

![license](https://img.shields.io/badge/license-MIT-blue.svg ) [![Build Status](https://img.shields.io/travis/pillarsjs/pillars/master.svg)](https://travis-ci.org/pillarsjs/pillars) [![npm version](https://img.shields.io/npm/v/pillars.svg)](https://www.npmjs.com/package/pillars) [![npm downloads](https://img.shields.io/npm/dm/pillars.svg)](https://www.npmjs.com/package/pillars)

# [![Pillars - make it easy ](http://pillarsjs.com/img/pillars.png)](http://pillarsjs.com/)

# Welcome to **Pillars.js**, a modular framework for Web Development in Node.js.

With a simple and modular approach lets you introduce in Node.js with a soft learning curve, if you're an advanced JS/Node developer, get an organized and efficient environment. Pillars has a powerful state control that lets you manage your application in a completely new way.

## Current Status

> Closed, deprecated and no longer maintained

> *Pillars.js is still an Beta version. Now we are writing reference, test, tutorials...*

> We are working on the English version of the reference and web site. Sorry for the inconvenience, if you have a good knowledge of Spanish and English would be a wonderful help to us your contribution. The entire site [pillarsjs.com](http://pillarsjs.com) is available (Spanish) in [pillars.docs](https://github.com/pillarsjs/pillars.docs) repository. Please contact us!

> For English speakers, sample codes are available fully commented in English [overview](https://github.com/pillarsjs/pillars/blob/master/examples/overview/app.js). It is a review of some of the basic features of the framework.

## Scope

- **HTTP Negotiation**
  - **Send files** with *compression*, *cache control* and automatic ranges (byte-serving compatible and **recovery downloads**).
  - Transparent **memCache** system.
  - Parameterized Paths and **multi-language**.
  - File upload Management *(integrated with formidable)*.
  - Full HTTP Headers parsing, with priority management for headers as *accept* and *languages*.
  - Request management by *Gangway*, wrap for *request* and *response* objects of Node.js 
  - Automatic control error in handlers.
  - **CORS** managed by route, and lots of other utilities.
  - Automatic **Compression** in response.
  - **Cookies** Management.

- **Controllers and environment**
  - **Dynamic environment** in runtime, allows change the structure while application is running.
  - Nestable controllers by path, give a better functionality organization in **routing trees**.
  - **Plugins** allow expand controllers possibilities and modifying the system operation.
  - Named controllers, give organization and control over the environment.
  - **Inheritance** system for controllers trees

- **Internationalization**
  - Full **i18n** integration.
  - Translations based in nodes. 
  - Attached to each message context and adapts the translation in each case from translation sheets.
  - **Translation sheets in JS/JSON**, *cases*, *functions* and *printf* allowed.
  - Language management of request automatic.

- **Utils**
  - *Templated*, adds **support to any template engine** and cache managed centrally.
  - *JSON.decycled*, great utility for parse objets, avoid circular references and much more.
  - *Crier*, allow create log groups and managing associated warehouses to each one.
  - *Scheduled*, schedule automated tasks.
  - *Procedure*, manage async blocks in declarative way, no more callbacks hell


## Getting started

 - **[Spanish]**: [Comenzando con PillarsJS](https://github.com/pillarsjs/pillars/wiki/Comenzando-con-Pillars.js)


## Licence
 - **MIT** Licence

---