Coder Social home page Coder Social logo

nodejs-reference-architecture's Introduction

Node.js Reference Architecture

Overview

The goal of the Node.js reference architecture is to present the teams 'opinion' on what components our customers and internal teams should use when building Node.js applications and guidance for how to be successful in production with those components.

Traditionally there has been reluctance to recommend a subset of the packages the JavaScript ecosystem but our customers are increasingly looking to the team for an opinion of where to start.

The components in this architecture are what we recommend to help internal and external customers get started based on our experience. Other components may be equally good, but these are the ones we know best and have the most experience with.

  • Where possible the opinion is based on what we've used internally and in our customer engagements.
  • The components specified will be our first priority for our contributions to open source projects in the JavaScript ecosystem.
  • Due to the above these are the components the team is best positioned when working with internal and external customers. However, we do not include formal support for these components in any of our support offerings unless specifically identified in those offerings.
  • The recommended components may change over time as technologies and approaches change.

The team

The team consists of engineers from across groups within IBM and Red Hat who:

  • are actively engaged in the JavaScript/Node.js community
  • have large Javascript/Node.js deployments
  • provide consulting advice and/or development related to JavaScript/Node.js for customers
  • develop/deliver JavaScript or Node.js components

Key tenets

  • Whenever possible components should have been validated at scale within the team's JavaScript/Node.js deployments or in engagements with our customers.
  • We need to consider licensing and other due diligence when selecting components.
  • We are going to start with a focus on the back-end, a similar effort for front-end components will make sense as a follow on.

Components

The reference architecture covers the following components (currently a work in progress with only a subset of sections having recommendations):

Module Diligence

As a minimum, any modules recommended as part of this reference architecture should meet the following criteria:

  • The module is not deprecated.
  • The module has an appropriate license.
    • Generally leaning towards permissive licenses such as MIT - others should be reviewed on case by case basis.
  • The module runs on LTS versions of Node.js.
  • The module has appropriate testing.
  • The module is appropriately maintained:
    • Regular releases (where appropriate).
    • Critical bugs reports are acknowledged and addressed.
    • Reported security vulnerabilities are patched and released.

Contributing

To Contribute to this project, please see the Contributing Guide.

nodejs-reference-architecture's People

Contributors

wtrocki avatar mhdawson avatar lholmquist avatar bethgriggs avatar davidsint avatar helio-frota avatar joesepi avatar ludovic-gasc avatar roastlechon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.