Skip to content

LAB3DVLP/nestjs-crud

 
 

Repository files navigation

CRUD

for RESTful APIs built with NestJs

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 @lab3dvlp/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

Typeorm 0.3.X support

Still in alpha you can install via :

yarn add @lab3dvlp/[email protected]

Packages

  • @lab3dvlp/crud - core package which provides @Crud() decorator for endpoints generation, global configuration, validation, helper decorators (docs)
  • @lab3dvlp/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)
  • @lab3dvlp/crud-typeorm - TypeORM package which provides base TypeOrmCrudRepository with methods for CRUD database operations (docs)

Documentation

Build library and run tests

yarn bootstrap
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 yarn clean && yarn build && docker-compose up -d && 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

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

MIT

Packages

No packages published

Languages

  • TypeScript 99.7%
  • JavaScript 0.3%