
CalmAPI — A Production ready REST API generator using NodeJS & MongoDB
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 ❤️