CalmAPI — A Production ready REST API generator using NodeJS & MongoDB

Sunil K Samanta
2 min readMay 9, 2021

Based on my previous NodeJS MongoDB starter package, Here is a Production ready Modular REST API Generator using NodeJS & MongoDB.
Github: https://github.com/sunilksamanta/calmapi

The first question: Why??

While working on various types of NodeJS REST structure, I’ve realized that it takes a lot of time to create a production ready structure and as the projects are most of the time different than each other.
So always wanted to setup a project in a way so that it can be reused. Not just that its modules can be reused.
I know there are lot of frameworks available and they are really good for production and they have lot of features. But the problem is most of them are not that much easily customizable. Means — They will allow developer only to work on the platform they’ve provided. Developers should not mess with the system itself.
So my basic goal was to give the developer a system in a way so that they don’t need to worry about simple setup and CRUD operations, so that they can focus on the Business logic, plus — They can customize whatever they want.

Installation

npm i -g calmapi

Then run inside your workspace directory

calmapi

And follow the simple questions, and your REST API is ready!

Features

  • Production ready — Controller, Model & Service oriented architecture
  • Modules with automated Routing (Nested Route support)
  • Built-in Authentication Module with JWT & DB Store authentication
  • Built-in User Module
  • Build-in CRUD operations for modules with pagination, filters, sorters
  • Sample Post Module (CRUD Operation Example)
  • CRUD Module generation command line support.
  • No Hidden sh*ts in your node_modules. Completely free to customize
  • Prebuilt CRUD operation classes for Controller & Service
  • DTO Support( Data transfer Object)
  • Eslint rules enabled
  • .env support
  • Automatic Created By, Updated By for authenticated modules.
  • Populate referenced fields — Default & Method specific.
  • And many more

Source & Links

Npm: https://www.npmjs.com/package/calmapi

Github repo: https://github.com/sunilksamanta/calmapi

Website: https://calmapi.dev

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it’s: Reporting a bug, Documentation, Discussing the current state of the code, Submitting a fix or Proposing new features.

Built with ❤️

--

--

Sunil K Samanta

Self-motivated NodeJs, MongoDB Developer. Passionate about technology & Music.