Node Atlas NodeAtlas

The Progressive Server-side JavaScript Framework

  • Simple set-up

    You know HTML & CSS?
    But not JavaScript?

    Quickly create multilingual websites effortlessly with simple routes, views or variations.

  • Scalable website

    JavaScript client-side Expert?
    Ready to embrace Node.js?

    Gradually improve your base as you need by using controllers, models or modules.

  • Agnostic client side

    Already your Front-end habits?
    You use Data Binding?

    From Vanilla to jQuery and going through Vue, Angular or React: use your favorite tools!

Overview

NodeAtlas is an MVC(2) JavaScript Server-Side Framework as an npm module (the node-atlas module) and designed to run with Node.js. NodeAtlas allows you to:

  • Create, maintain and run internationalized websites without using a single JavaScript server file. That's it's perfect for beginners and for developing brand website or single web app with high performance quickly.

    Exemple : Simple Web Page or Scrollable OnePage.

  • Create, maintain and document a set of assets HTML / CSS / JavaScript user interfaces to provide solid guidelines for the realization of website or webapp (i.e. for brands) on create serverless website (i.e. for GitHub Pages).

    Exemple : Pages, Componants and Web Interface Documentation or the official NodeAtlas website.

  • Develop Node.js internationalized websites, scalable Node.js applications or distant APIs running of all sizes with server-based source code for high performance, indexability for SEO and W3C compliance. Distant REST APIs are also easy to create.

    Exemple : Blog, Portfolio, Website or Distant API.

Why NodeAtlas?

NodeAtlas is designed to create scalable websites and to allow front-end and back-end developers to embrace Node.js and offer an easy learning curve.

Starting with a single HTML page,

  • then create other pages,
  • then internationalize them,
  • then minify/obfuscate/optimized your sources,
  • then use preprocessor like Stylus, Less or Pug easily,
  • then use files for drive back-end part with code with hooks and Express,
  • then use Socket.IO for server-side reactivity and real-time exchanges,
  • then connect you to MySQL, MongoDB, ElasticSearch...,
  • then use Vue or React for isomorphism and client-side reactivity,
  • then be component-based and/or service-oriented with projects like ComponentAtlas and/or ApiAtlas,
  • then let your customer edit website itself with EditAtlas
  • then create plugins,
  • then...

Others Frameworks?

In opposition to others client-side JavaScript frameworks like Vue, Angular or React, NodeAtlas run server-side and provide some real URLs by HTTP response. Websites are indexable and W3C compliant, that means each page is constructed by HTTP response and after by asynchronous (AJAX, Websocket...) mechanisms. So, NodeAtlas is not an alternative to others client-side JavaScript frameworks that only use Node.js for use after npm, jspm, gulp, etc. So, NodeAtlas is same as Sails or Meteor. And that means NodeAtlas is a substituent to PHP, Java or C# server-side. In the same way as Meteor, NodeAtlas allow you to set your working environment and you have not need of gulp but by an opposition of Meteor, the NA object is not provided client-side by default. It's your responsibility to spread server-side mechanism to client-side.

To comparate NodeAtlas with others JavaScript Server-side library / framework / API, you could check this grid.

Examples of creation

You'll find a list of GitHub repositories provided by NodeAtlas community to analyze and understand how NodeAtlas works:

Documentation

In addition to this documentation, you also have access to,

Contributing

If you would like to contribute with:

  • Code enhancements and fixes,
  • French correct spelling mistake or
  • Decent English translation

Please do the following:

  1. Fork the NodeAtlas repository.
  2. Hack on a separate topic branch created from the latest master.
  3. Commit and push the topic branch.
  4. Make a pull request.
  5. Be patient. ;-)

Please note that modifications should follow these coding guidelines:

Thank you for helping out!