pillars

Pillars.js web development framework for Node.js

Usage no npm install needed!

<script type="module">
  import pillars from 'https://cdn.skypack.dev/pillars';
</script>

README

license Build Status npm version npm downloads

Pillars - make it easy ">

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

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 is available (Spanish) in pillars.docs repository. Please contact us!

For English speakers, sample codes are available fully commented in English overview. 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

Licence

  • MIT Licence