Giter Club home page Giter Club logo

crud's Introduction

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

Packages

  • @rewiko/crud - core package which provides @Crud() decorator for endpoints generation, global configuration, validation, helper decorators (docs)
  • @rewiko/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)
  • @rewiko/crud-typeorm - TypeORM package which provides base TypeOrmCrudService 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 rewiko 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

crud's People

Contributors

0xflotus avatar asheliahut avatar bashleigh avatar bestori avatar darkein avatar davarga avatar debagger avatar diluka avatar dschoeni avatar duongleh avatar eugenio165 avatar frco9 avatar fwoelffel avatar greenkeeper[bot] avatar jdguzman avatar jdolieslager avatar joennlae avatar kamilmysliwiec avatar kereslas avatar klalex avatar michaelyali avatar renovate-bot avatar rewiko avatar robotscribe avatar roland-chernov avatar samisammour avatar saulotoledo avatar splaktar avatar steeu avatar tbrannam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

crud's Issues

Merge fix from upstream

Due to upstream repo inactivity, I had to fork it to release fixes.

  • typeorm - fixed cache - do not use cache when updating resources. Upstream PR nestjsx#688 Repo PR #3
  • FIX - select boolean type in JoinOption. Upstream PR nestjsx#713 Repo PR #4
  • fix(crud-typeorm): include embeded column name in search query. Upstream PR nestjsx#601
  • Update README.md nestjsx#611
  • fix(crud): typo fix getMayRouteOptions -> getManyRouteOptions nestjsx#606
  • fix(crud): using metadata to update entities based on primary key instead of "found". Upstream PR nestjsx#622
  • Fix constant when getting swagger extra models, Upstream PR https://github.com/nestjsx/crud/pull/626/files
  • fix filter for user in meController, Upstream PR nestjsx#644
  • Make updateOneBase dto type partial, Upstream PR nestjsx#679
  • Add warning when using disallowed relation, Upstream PR nestjsx#683
  • feat(crud-typeorm): ignore entity decorators when saving, Upstream PR nestjsx#692
  • fix(crud-typeorm): fix sql injection check looping on the first regexโ€ฆ, Upstream PR nestjsx#694
  • fix(crud-typeorm): use random parameter name to prevent invalid parameters, Upstream PR nestjsx#723
  • fix(NestJSX-CRUD-TypeOrm): bug Ability to Use Search and Filter Features with Nested Entities, Upstream PR nestjsx#737
  • CHG - Provide options for qs url params stringify, Upstream PR nestjsx#749
  • Allow all relation to be joined, Upstream PR nestjsx#574
  • feat: add custom operators, Upstream PR nestjsx#568
  • fix(typeorm): correct quotes for column identifiers when driver is โ€˜mariadbโ€˜, Upstream PR nestjsx#546
  • Fix(crud-response-interceptor): classToPlain call two time, Upstream PR nestjsx#526

Typeorm 0.3.0

What is your opinion about this new version?

It added a lot of features that can be used, but it also breaks a lot of things.

Do you have plans to work on adding support for this new version?

Official support for nestjs 8

Currently this library support nestjs 7 as listed in package.json, although it supports version 8 without any problems.

But, it might be better to create a new major version of this library and keep support for nestjs 7 in version 5.x and add support for nestjsx 8 in version 6.x.

What do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.