Mantra is a framework based on Node.js to develop scalable and progressive projects with highly decoupled components and projects following lean methodology with fast and high evolution.

Mantra is the core for building platforms, startups applications, enterprise systems or, virtually, any other kind of projects.

A Mantra project follows some design and software architecture principles defined in Mantra Paradigm Development Principles. With them, technical debt is minimized and testeability of components are extremely high.

Install with NPM

mantrad is the command line interface (cli) to manage Mantra applications. Install it with:

$ npm install -g mantrad

Or clone it and install globally with:

$ git clone https://github.com/mantrajsframework/mantrad
$ cd mantrad
$ npm install . -g

Check current version with:

$ mantrad version

Mantra "Hello World"

Run your first Mantra project with Mantra Hello World sample step by step.

What it is?

Mantra is a Node.js framework for lean, scalable and high performance projects, based on small and highly decoupled components.

A Mantra application is based on multiple components that interact between them using a global interaction layer (Mantra).

Each component exposes assets (APIs, posts and gets controllers, data models, views, blocks, middlewares, cron jobs, commands, prerequests, access conditions, etc.). Mantra is in charge of the decoupled interaction between all of them.

The framework intends to define simple components with very specific functionality, following S.O.L.I.D. and Dependency Inyection principles, with extremely simple data models, easy updates, multiapplications within the same project and extremely well organized projects.

Mantra depends on:

Mantra works and has been tested in Linux environments with Node.js 12.x, 13.x, 14.x, 15.x, 16.x and 17.x.

Future versions will support more data providers and rendering engines.

What kind of applications can be built with Mantra?

You can use Mantra for building many different kinds of applications:

  • Scalable web applications.
  • Multisite web applications (multiple sites using same set of components).
  • Command line interface applications.
  • Applications with no UI to run any kind of tasks.
  • Microservices applications.
  • Standalone applications with specific purposes.
  • A mix of all above in the same project.

In the same Mantra project can live together all applications needed to run it: main UI, operation UI, maintenance apps, task scheduler, etc.

Mantra application samples

In adition to the documentation, the best way to learn how to write Mantra projects is reading samples. You can find multiple samples at Mantra Demos repository or listed at Mantra site demos section.

Documentation

Learn to build Mantra projects with this documentation:

Mantra demos, components and projects marketplace at mantrajs.com.