Skip to content

gid-oss/dataui-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 @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

Packages

No packages published

Languages

  • TypeScript 99.3%
  • JavaScript 0.7%