npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mantrad

v1.2.1

Published

Mantra Framework (www.mantrajs.com)

Downloads

319

Readme

Mantra is a framework based on Node.js to develop scalable and progressive projects with highly decoupled components 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.

Mantra has been designed to develop high performance applications to be deployed in any scenario.

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.

Also, by its nature, the assets of a Mantra project are very well organized with separation of concerns and the code for common tasks tends to be minimal.

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 API).

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. Any component can define any other asset with new functionality.

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

Mantra depends on:

  • RedEntities as object mapper for data repositories, another project of Mantra.
  • Express as core web server.
  • Mustache template redering mecanism for views.

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.

Currently, MySql, MariaDB, PostgreSql, Sqlite and Aurora databases are supported. 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 and high performance 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, components and projects

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.

Also, you can download for free many official components and projects ready to use from Mantra site.

Documentation and how-tos

Learn to build Mantra projects with this documentation and read how-to guides published continuosly at Manta site how-to section.

You can also read this documentation at Mantra site.