/dataui-nestjs-crud

NestJs CRUD for RESTful APIs

Primary LanguageTypeScriptMIT LicenseMIT

CRUD

for RESTful APIs built with NestJs

Build Coverage License npm version npm downloads Renovate PRs welcome Awesome REST Awesome Nest Nest Powered
Built with 💜 by @MichaelYali and Contributors
🌟 👀 ⚡ 💥

We believe that everyone who's working with NestJs and building some RESTful services and especially some CRUD functionality will find @dataui/crud microframework very useful.

Features

CRUD usage

  • 🔌 Super easy to install and start using the full-featured controllers and services 👉

  • 🐙 DB and service agnostic extendable CRUD controllers

  • 🔎 Reach query parsing with filtering, pagination, sorting, relations, nested relations, cache, etc.

  • 🔭 Framework agnostic package with query builder for a frontend usage

  • 👾 Query, path params and DTOs validation included

  • 🎬 Overriding controller methods with ease

  • 🔧 Tiny config (including globally)

  • 🎁 Additional helper decorators

  • ✏️ Swagger documentation

Install

yarn add @dataui/crud-typeorm

Packages

  • @dataui/crud - core package which provides @Crud() decorator for endpoints generation, global configuration, validation, helper decorators (docs)
  • @dataui/crud-request - request builder/parser package which provides RequestQueryBuilder class for a frontend usage and RequestQueryParser that is being used internally for handling and validating query/path params on a backend side (docs)
  • @dataui/crud-typeorm - TypeORM package which provides base TypeOrmCrudService with methods for CRUD database operations (docs)

Documentation

Build library and run tests

yarn install
yarn clean
yarn build
docker compose up -d
yarn test:coverage

Make a release

  • Merge a PR on master.
  • Pull and checkout master
  • Update Changelog and commit
  • Run tests docker-compose up -d && yarn rebuild && yarn test:coverage
  • Run yarn pub - this will publish on the npm repo (need to be logged under dataui yarn login)

Support

Any support is welcome. At least you can give us a star ⭐

Contributors

Code Contributors

This project exists thanks to all the people who contributed. [Contribute].

Financial Contributors

Organizations

Currently this project is NOT sponsored by anybody. Get in touch if you want to become a sponsor.

License

MIT