Napping Panda Missionaries
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    @onixjs/corepublic

    OnixJS - Enterprise Grade Framework

    Coverage Status Travis npm (scoped) Beerpay alt text

    Disclaimer: This framework is in active development and won't be ready for production until we reach release candidate.

    • Alpha release date: Feb 2018
    • Estimated date for beta release: EO Apr 2018
    • Estimated date for release candidate: EO2Q/2018

    Installation

    $ npm install --save @onixjs/core

    Features

    The OnixJS Framework is an Enterprise Grade Node.JS platform that implements only Industry Standards and Patterns in order provide the best development experience possible:

    • High-Availability
    • High-Performance
    • Built-in TypeScript
    • Single Sign On (OIDC IdP / SSO)
    • Isomorphic SDK For ES6+/TypeScript Clients that runs on Browser, Mobile, Node.JS
    • Dependency Injection (DI)
    • Middleware Router
    • Compatibility with middleware based modules (e.g. express/bodyparser)
    • View Renderer Compatible with any JS Template Engine (DoT, EJS, Etc)
    • Supported Architectural Patterns: SOA, MSA and MVC.
    • Representational State Transfer API (REST API)
    • Remote Procedure Call and Streams API (RPC/RPCS APIs)
    • Module and Component Level LifeCycles (Hooks)
    • Back-end compatible with any ORM (LoopBack's Datasource Juggler, Mongoose, Sequelize, TypeORM, Etc)

    Documentation

    The following link will take you to the OnixJS Documentation

    DISCLAIMER: The wiki is a temporal documentation created to start guiding developers into the OnixJS World. An Official Web and More Complete Documentation Sites are currently being developed.

    Examples: https://github.com/onixjs/examples

    Philosophy

    The OnixJS FrameWork is an Enterprise Grade Node.JS platform that implements only Industry Standards and Patterns.

    Core Objectives

    • Slightly Opinionated: Though OnixJS provide with a business logic structure based on SOA, MSA and it does specify how to communicate your services or clients, we do empower you to decide which Front-End Framework, ORM or even an Server Side Renderer (Template Engine) to install. By using any of our provided Factories, you'll be free to make most of the important decisions.
    • Stability: We strongly believe that providing a highly featured, tested or covered platform might be great but definitely not enough. We also believe that staging or deploying a project now or in a year MUSTN'T be affected by the Framework or any of its dependencies, being that the reason of why we decided to use the lowest amount of dependencies possible.
    • High-Availability: Either you choose Monolithic SOA or MSA, your services will run independently in separated processes. While implementing the right patterns and infrastructure, any failure on either of your services won't block or disable access to users or other services.
    • High-Performance: OnixJS provides with a really small footprint, we don't really add unnecessary and unused features, instead we provide you with artifacts all based on established design patterns for you to build projects with ease, as well as providing ways to flawlessly communicate services and clients.
    • Security: OnixJS provides with a fully OIDC featured Single Sign On IdP, so you can start avoiding expenses on authentication and authorization issues due far simplistic auth implementations not suited for enterprise grade projects.
    • Compatibility: A must have goal is to provide not only compatibility with other Middleware Based Node.JS Frameworks, but as described before; compatibility with any ORM, Template Engine, Front-End Framework and even other Programming Languages using the REST API or the OnixJS REST Gateway.
    • Communication: With the OnixJS Isomorphic SDK you'll be able to easily communicate services to services or services to clients. Don't want to communicate services over network? No problem, communicate services using STD IO Streams.

    Core Documentation

    $ git clone git@github.com:onixjs/core.git
    cd core
    $ npm install && npm run serve:docs

    Documents will be served on http://127.0.0.1:3000

    Note: Core documentation is not focused on end application developers.

    Test

    $ git clone git@github.com:onixjs/core.git
    cd core
    $ npm install && npm run test

    Contributors


    Jonathan Casarrubias

    💻

    Andres David Jimenez

    💡

    Paul Warelis

    📖

    Miguel Serrano

    💻💡

    Ixshel Escamilla

    📋🔍

    Raul Vargas

    🔌

    This project follows the all-contributors specification. Contributions of any kind welcome!

    install

    npm i @onixjs/core

    Downloadsweekly downloads

    528

    version

    1.0.0-alpha.19

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar