GithubHelp home page GithubHelp logo

awesome-nestjs's Introduction

Nest Logo

Awesome NestJS

A curated list of awesome things related to NestJS

Resources ย ย ย  Contribution guide ย ย ย  Official documentation

Awesome

Contents

Resources

Official Resources

Community

Talks

Trainings

Tutorials

Examples

Boilerplate

  • ๐Ÿงช Fully tested NestJS Prisma Clean Architecture Boilerplate - This boilerplate shows how to test your NestJS API with unit, integration and e2e tests. Use-cases are written in functionnal programming with FP-TS.
  • NestJS Permission Boilerplate - This is a basic NestJS boilerplate project built on the more powerful Node.js framework. The main purpose of this project is to dynamically handle roles and permissions assigned to the user.
  • SQB NestJS Boilerplate - A production-ready ๐Ÿญ NestJS boilerplate with batteries ๐Ÿ”‹ included. No Kidding!.
  • Nest BFF - A boilerplate BFF web application starter-project using NestJS. Includes CLI, and MongoDB migrations features.
  • NestJS Template - Scaffold your next TypeScript API with this production-ready NestJS template crafted for Docker environments.
  • MEAN Todo with NestJS - A simple Todo application with NestJS and Swagger. Included Authorization/Authentication.
  • NestJS Boilerplate - Boilerplate with available authentication, typeorm, env configuration and swagger. Everything you need to start making great things.
  • Awesome Nest Boilerplate - Typescript, Postgresql, TypeORM, Swagger for Api documentation, Role base access control, and best application architecture.
  • NestJS Prisma Starter - Starter project for NestJS includes Graphql with Prisma Client, Passport-JWT authentication, Swagger Api and Docker.
  • TeanJS - TeanJS is a starter that provides you all the keys to be able to start writing your code as quickly as possible.
  • NestJS DDD Boilerplate - Domain Driven Design Base app with NestJS, Class Validator and TypeORM. SOLID principles applied to create fully testable applications.
  • Nest Mongo Graphql - Starter Kit using NestJS MongoDB Graphql and type-graphql inspired the type schema first approach.
  • Ultimate Backend - Enterprise multi-tenant SaaS starter kit with CQRS GraphQL microservice architecture, apollo federation, event source and authentication.
  • NestJS GraphQL Boilerplate - Dockerized API boilerplate with NestJS, TypeORM, TypeGraphQL, MongoDB, GraphQL and automated tasks with Makefile. Code first approach.
  • NextJS & NestJS GraphQL Starter - GraphQL NestJS with NextJS boilerplace. Includes GitHub, Reddit & Google OAuth.
  • The Knests Stack - Full stack/end starter with: PostgreSQL, Knex.js, NestJS, Next.js, GraphQL, React, Material-UI, Docker multistage images for, Docker compose and a GitLab CI/CD pipeline fully configured.
  • Nest Hackathon Starter - Hackathon starter project for NestJS. Includes Prisma, email verification, Passport-JWT authentication, Swagger and more.
  • Stator - A full-stack boilerplate that does it all - automatic releases, deployments, enforced conventions.
  • NestJS REST Starter Kit - By MonstarLab - Features: JWT Auth, RBAC Authorization, TypeORM, winston logger, Pagination, Auto-generated Swagger. Other: prettier, commit-linting husky hooks, SonarCloud, docker-compose.
  • NestJS Api Boilerplate JWT - An API Boilerplate to create a ready-to-use REST API in seconds with NestJS + TypeORM and JWT Auth.
  • NestJS REST API boilerplate for typical project - Boilerplate with Auth, TypeORM, PostgreSQL, Mailing, I18N, Docker, File uploads (support local and Amazon S3 drivers), Swagger, Tests, CI.
  • NestJS and Prisma Yarn Monorepo Starter Template - Full-stack monorepo starter (Yarn workspaces) with Prisma, GraphQL, CI and more.
  • Truthy NestJS Headless CMS - Open source headless CMS API written using NestJS, that has built-in modules like User Management, Role Management, Permission Management, Email Module, Account Settings, 2FA settings, Throttling, RBAC support, Localization, frontend application written with ReactJS & Redux Saga, UI built with Ant design and many more. Other: unit test using Jest, prettier, commit-linting husky hooks, PostgreSQL, Redis, docker etc.
  • NestJS Realtime Chat - Boilerplate for a realtime chat based on Websockets, TypeORM, PostgreSQL, REST, Docker which includes PassportJS/JWT auth, rooms, kick/ban user functionality
  • Nest Sequelize JWT - Starter kit Nest + Sequelize + jwt.
  • Nest sequelize-typescript - Nest + sequelize-typescript + JWT + Jest + Swagger.
  • Samchon Backend - Template project for NestJS which utilizes Nestia, Safe-TypeORM and PostgreSQL. It supports developers to follow the TDD (Test Driven Development) and BDD (Behavior Driven Development) principles. Documents are well-formed and additional example projects are provided.
  • NestJS Starter - Starter for BFF, MS and API Rest with NestJS, scalable by environments with centralized configuration to use GitOps, CI/CD with GitHub Actions, Dockerization, Conventional commits, versioning, etc... and much more.
  • NestJS HTTP Boilerplate - A template for NestJS, Fastify, Typegoose, Vitest, custom Logger implementation, Redis and more, fast and simple boilerplate.
  • Ultimate NestJs - Nestjs template with Mikroorm, postgres, i18n , twilio, CI/CD with Github actions, conventiona commits with cz and husky, caching, mailer , sentry. Extended ESLint config for best practices. Also has nest's new repl added
  • Zen NestJS Prisma Apollo Angular Starter - An Nx monorepo for creating user portals as a progressive web application. Zen integrates the most widely adopted dependencies within the NestJS, Prisma, Apollo & Angular eco-systems. Code generating the entire data access layer for you.
  • NestJS Webpack Boilerplate - Boilerplate for NestJS with Webpack, Pnpm, Fastify, Swagger, Pino Logger, Airbnb JavaScript Guide, Google JSON Style, ESLint, Prettier, Editorconfig, Husky, Lint-Staged, Commitlint, Axios, Docker, Alias Path, Error Handling and Clustering.

Projects using NestJS

Open Source

  • Everยฎ - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces.
  • Feednext - Open-Source Social Media Application.
  • Gauzy - Open-Source Profits Sharing Platform for modern agencies and studios.
  • LXDhub - Management system for Linux Containers (LXC).
  • Notadd - Microservice development architecture.
  • Pimp My PR - Open-Source platform for statistics and pull request management.
  • ToolJet - ToolJet is the open-source low-code framework alternative to Retool & Mendix to build & deploy internal tools with minimal engineering effort. (Source Code) GPL-3.0
  • Vendure - Open-Source headless GraphQL ecommerce framework built on NestJS, with a focus on developer productivity and ease of customization.
  • iola - Socket client with Rest API.
  • Amplication - Amplication is an open-source low-code devtool that auto-generates backend apps built with TypeScript and Node.js, and a client built with React.

Components & Libraries

Utilities

  • @nestjs/cqrs - A lightweight CQRS module for Nest framework.
  • @nestjs-architects/typed-cqrs - A wrapper for the Nest CQRS library for better typing of query and command results.
  • nestjs-config - A Great module to handle project configurations.
  • nest-typed-config - Intuitive, type-safe configuration module for Nest framework.
  • @nestcloud/cli - A Node.js micro-service solution based on Consul, writing by Typescript language and NestJS framework.
  • nestjs-easyconfig - A NestJS module for managing configs that provides some sleek features.
  • nest-schedule - Schedule job easier by decorator.
  • nest-queue - Easy queue management based on Redis for your application.
  • NestJS Toolbox - The repository contains a suite of components and modules for NestJS.
  • nestjs-multer-extended - Extended MulterModule for NestJS framework with flexible Amazon S3 upload and helpful features.
  • nestjs-cls - A continuation-local storage module for Nest (using async_hooks)
  • nestjs-http-promise - A Promise-based alternative to @nestjs/axios, with retries feature using axios-retry and axios.
  • NestJS Toolkit - This toolkit is intended to be used in NestJs Starter, or any project that uses a centralized configuration, following the same architecture of the starter. Pks: http-client, typeorm, redis, filter exceptions, test utilities with test containers.
  • typia: 15,000x times faster runtime validator using pure TypeScript type.
  • @nestia/core: 15,000x times faster validation decorators using typia.

Code Style

Web Sockets

Redis

Mail

API

Middleware

Errors

  • @squareboat/nest-eyewitness - Receive error reports directly to your inbox whenever any exception is witnessed ๐Ÿ‘€ in your NestJS application.
  • nestjs-flub - Pretty Error ๐Ÿ˜ซ Stack Viewer for NestJS Framework ๐Ÿ› ๏ธ.
  • nestjs-enlighten - A laravel-ignition like error page for NestJS Framework.
  • nestjs-rate-limiter - A highly configurable rate limiter library.
  • nest-raven - Sentry Raven (@sentry/minimal) Module for NestJS Framework.
  • nestjs-sentry - Another NestJS Sentry module, with injectable sentry client.

Lint

Router๐Ÿšฆ

  • nest-router - Router Module For NestJS Framework ๐Ÿšฆ ๐Ÿš€ for organizing your Routes, creating a routes tree, and more.

Dialogflow ๐Ÿ“ก

  • nestjs-dialogflow - Dialog flow module that simplify the web hook handling for your NLP application using NestJS.

Logging

  • nest-winston - Winston module for NestJS.
  • nestjs-pino - Pino module for NestJS Log with request context in any place.
  • @ogma/* - A monorepo for the Ogma logger and related packages.

Monitoring

Internationalization (i18n)

  • nestjs-i18n - Adds i18n support easily to your server, with a rich formatting api build in.

Currency

Event

  • nest-event - Event handling with decorators for NestJS Framework.

Auth

RBAC (Role-based access control)

  • nestjs-rbac - RBAC module for NestJS, with a dynamic storage and cache.
  • nestjs-keycloak-admin - Keycloak Admin Client with support for User Managed Access protocol.
  • nestjs-oso - Library that simplifies the implementation of OSO (open-source policy engine for authorization).

Multi Tenancy

  • nestjs-mtenant - A module for NestJS to enable multitenancy support with deep integration into the system as whole (based on async_hooks).

Microservice

Database

  • nestjs-prisma - Library and schematics adding Prisma integration to a NestJS application

Testing

Collections of examples

  • Testing Nestjs - A repository to show off to the community methods of testing NestJS including Unit Tests, Integration Tests, E2E Tests, pipes, filters, interceptors, GraphQL, Mongo, TypeORM, and more!

Utilities

  • @golevelup/ts-jest - Utilities for making testing NestJS applications easier. Currently supports Jest.
  • mockingbird - A library to create typed tests fixtures/mocks using decorators and built-in faker support
  • NestJS + Pact - Injectable Pact.js Consumer/Provider for NestJS
  • @automock/jest - Standalone library for class-dependencies auto mocking

Integrations

Auth

Databases

GraphQL

Pattern

Editors

AMQP

  • nestjs-amqp - An amqp connection manager.
  • nestjs-rmq - A custom library for NestJS microservice. It allows you to use RabbitMQ or AMQP.
  • @golevelup/nestjs-rabbitmq - Flexible AMQP integrations for NestJS that supports multiple messaging patterns and intuitive decorators.

EventStore

Payment Gateways

Frontend

Scheduling

Workflow Automation

Chatbots

File Storage

Cloud Managed Configuration

  • @nonfig/nestjs-config - A module for Nonfig Configuration Management Service. Nonfig combines Configurations and Features. So you change features, and release swiftly, and measure to digital impact.

SDK

Runtime

Command Line / Terminal

Meetups

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, juliandavidmr has waived all copyright and related or neighboring rights to this work.

awesome-nestjs's People

Contributors

aaabramov avatar ahmetuysal avatar artonio avatar bashleigh avatar brunnerlivio avatar catsmiaow avatar dhaspden avatar fenos avatar ferdysd96 avatar iamolegga avatar joebowbeer avatar juicycleff avatar juliandavidmr avatar jwulf avatar kop7 avatar marcjulian avatar micalevisk avatar nartc avatar omermorad avatar owl1n avatar ozkanonur avatar pvarentsov avatar samchon avatar sikora00 avatar socketsomeone avatar thomaschaaf avatar tienne avatar tony133 avatar vinayak25 avatar yashmurty 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  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  avatar  avatar

Watchers

 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  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  avatar  avatar

awesome-nestjs's Issues

Add 'testing' category under 'Components & Libraries'

I think there are couple good resources & packages out there regarding tests for Nestjs projects, like:

and since Nestjs's docs doesn't mention them (AFIK), it would be cool to have them listed here :D

Maybe the first one could live under Resources > Examples

NEED FOR HELP - NEW COLLABORATOR

Hi everyone, NestJS is growing every day and there are a lot of new technologies for it. Many technologies come to awesome-nest, so I'm looking to someone who wants help to maintain this awesome GitHub repository. - What I expect from the contributor? - review PR, check new issues, must have experience working with NestJS.

Leave a comment below, describe why you want to be a contributor๐Ÿฅ‡.

Categorization of command-line generators

The Awesome NestJS list contains several command-line tools used to generate code automatically. They are however divided in multiple categories, which can lead to confusion, such as:

image

And:

image

Wouldn't it be better to merge these categories as a single one (name TBD).

What do you think?

Popular repositories

To ensure that from now on "awesome-nest" has only popular repositories, I propose that future github repositories that wish to be added to the list must have at least 10 stars.

What do you think?

Nestjs project graveyard

As is the case for most of the awesome-x repositories, we end up with a graveyard of projects that haven't been touched in years and largely been deprecated.

Such is life.

It would be beneficial if repositories that haven't gotten a commit for more than a year be removed from this list.

Propose to add a New NestJs template + Toolkit

Hi, how are you? I would like to propose to add to the list a project I have been working on for more than 1 year.
It is a Nestjs starter project, in which you clone the repository and you have a functional application ready to be deployed in different environments through a centralized configuration.
Along with this starter, there is a library of modules with plug and play functionality, which is fed with this centralized configuration, so the developer will not have to spend time building configurations.

If you have any questions, do not hesitate to contact me.

Best regards.

NestJS Starter: https://github.com/rudemex/nestjs-starter
NestJs Toolkit: https://github.com/tresdoce/tresdoce-nestjs-toolkit

Suggestion: add packages name

before after
before after

Or maybe we should just replace the current name by the package name instead like so

image

I believe this would help on avoid naming clashes and on find out if we already saw a given repo

Get ride of two archived repositories

- [Nest Morgan](https://github.com/mentos1386/nest-morgan) - Morgan module for NestJS.

- [Nest Typegoose](https://github.com/kpfromer/nestjs-typegoose) - A [Typegoose](https://github.com/szokodiakos/typegoose) module for Nest framework.

I've used the following bash script to find them:

wget https://raw.githubusercontent.com/nestjs/awesome-nestjs/master/README.md
./list_archived_repos.sh
list_archived_repos.sh
#!/bin/bash

FILE="${1:-README.md}"

repos=($(grep --color=never -Po '(?<=github\.com\/)[^/)]+\/[^/)]+' $FILE))
archived_repos=()

GH_PAT="YOUR PERSONAL ACCESS TOKEN"

for repo in "${repos[@]}"; do
  follow_rules=$(
    curl -s -L -H "Authorization: token ${GH_PAT}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/${repo}" | 
    jq '.archived == false'
  )

  echo -n "$repo"
  if [ "$follow_rules" == "false" ]; then
    archived_repos+=("$repo")
    echo "โŒ"
  else
    echo "โœ…"
  fi

  # sleep 2
done

echo "--------------------"
printf '%s\n' "${archived_repos[@]}"

Nestjs + Passport + oAuth2 example

Hey Julian, I made an example of oAuth use with passport and nestjs.

I get help from nestjs guys on discord to finish this example. I'm using myself this example on my company authentication.

This example only needs to set up the environment file and people add some login in service file and are ready to go.

To give you some context people access to your api (example), the api redirect you to the oAuth provider return you to the page you set up to redirect.

example:
client -> server -> oAuthProvider -> server -> client

this example doesn't have an oAuth2 implementation but a redirect to a provider that give the people some control what can and cannot user have access from your provider.

If you think is useful for other people you can share on your links.

https://gitlab.com/vanishdark/nestjs-oauth2-example

Remove archived repositories

Hey! This is a list of all archived repositories that I found in your README.md:

adrien2p/nest-js-api-ai
BruceHem/simple-todos
mentos1386/lynx
evebook/api
nestjsx/automapper
adrien2p/nest-js-graphql
nest-cloud/nest-memcached

You could remove them or use the ~~ to scratch them, idk. Like

๐Ÿ˜„


btw I've made this simple script to grab github repos and list the archived ones:

list_archived_repos.sh
#!/bin/bash

repos=($(grep --color=never -Po '(?<=github.com/)[^/]+/[^)/]+' "README.md"))
archived_repos=()

GH_PAT="your personal access token here"

for repo in "${repos[@]}"; do
  is_archived=$(curl -s -L -H "Authorization: token ${GH_PAT}" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/${repo}" | jq '.archived')
  if [ "$is_archived" == "true" ]; then
    archived_repos+=("$repo")
  fi
done

printf '%s\n' "${archived_repos[@]}"

(maybe you can create a scheduler task with github action to do some health check, like broken link checker, archived repo checker)

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.