Awesome NestJS
A curated list of awesome things related to NestJS
Resources ย ย ย Contribution guide ย ย ย Official documentation
Contents
- Resources
- Projects using NestJS
- Components & Libraries
- Testing
- Integrations
- Runtime
- Meetups
- Contribute
- License
Resources
Official Resources
- Website
- Official Guide
- GitHub Repo
- Examples
- Nest Starter - Nest framework TypeScript starter.
- JavaScript Starter - Nest framework JavaScript (ES6 / ES7 / ES8) starter.
Community
- Discord
- Telegram (community maintained)
- Telegram (Brazilian Portuguese speak community)
- Telegram (Russian speak community)
- Telegram (Ukrainian speak community)
- Slack (Korean speak community)
- Reddit (community maintained)
- Facebook (Polish speak community)
Talks
- Revealing framework fundamentals: NestJS behind the curtain by Kamil Myลliwiec
- Taming reactive Node.js: Stream-oriented architecture with NestJS | Kamil Myลliwiec
Trainings
Tutorials
- NestJS content on Dev.to: articles made by the core team; articles made by the community.
- Blog of Trilon (NestJS creator's company).
- NestJS30Days - Learn the NestJS framework in 30 days.
- Build a geofencing web app using NestJS and the Google Maps API
- Build live comments with sentiment analysis using NestJS
- Build a chat app with sentiment analysis using NestJS
- Create a realtime graph using NestJS
- Build a realtime table with DataTables and NestJS
- NestJS Basic Auth and Sessions
- NestJS Hasura Integration via Schema Stitching And JWT Auth
- MEAN Stack with NestJS and Swagger
- YouTube playlist by Kelvin Mai: NestJS Ideas API - A project based course on Full Stack Typescript covering NestJS, GraphQL PostgreSQL, Angular and NgRx.
- Building a real time web applications using NestJS and Ably
- YouTube playlist by Codeforges TM: Angular + NestJs Tutorials - Building a full-stack blog with NestJS, Angular and Angular Material.
- Udemy free course: The complete NestJS developer. Enterprise Node.js framework - The complete guide for developers how to create enterprise ready applications using NestJS framework.
Examples
- ChatServer - Server side of Chat App implemented using NestJS.
- Domain Driven Design - Library - Example of an application that follows Domain Driven Design.
- Realworld Example App - Exemplary real world backend API built with NestJS + TypeORM.
- Mant - New Stack on the Market to beat them all ๐ MANT.
- REST NestJS Postgres - CrudJS implemented as a REST API, using NestJS and Postgres.
- Nest Permissions Seed - A simple application demonstrating the basic usage of permissions with NestJS.
- Angular NestJS Rendering - Angular 5+ server side rendering using NestJS.
- Angular Contact Manager App - A Contact Manager App using Angular, NestJS, Mongoose, Passport, JWT.
- Books Library API - A restful API with NestJS and mongoose.
- Passport Auth NestJS - Passport strategies and oauth integration built with NestJS.
- NestJS Auth0 - An example NestJS application that uses Auth0 via Passport for authentication.
- Nest Ideas API - An implementation of a REST and GraphQL server built with NestJS, PostgresQL and TypeORM.
- Nestcloud Starter - Quickly start a micro-service app use nestcloud.
- Nodepress - A RESTful API server application for Blog CMS.
- Serverless-Lambda-DynamoDB - A fully SERVERLESS in-production application with AWS Lambda, DynamoDB, DynamoDB Streams.
- Serverless-Lambda-FirestoreDB - A fully SERVERLESS in-production application with AWS Lambda, FirestoreDB, Firebase Auth, Winston Logger, Swagger. Also implements admin role authorization.
- Serverless NestJS TypeOrm - Example how to NestJS using the serverless framework with TypeORM.
- Passport Email Auth - Starter project that includes API for user email authentication with MongoDB and PassportJs.
- NestJS Project Structure - Example of constructing a project structure with NestJS.
- NestJS Elasticsearch Vue - Autocomplete search with NestJS, Elasticsearch and Vue.
- TypeScript Clean Architecture - Clean Architecture based application with NestJS, PostgreSQL and TypeORM.
- NestJS Apps Collection - Collection example apps with NestJS and Typeorm, Mongodb, PostgreSQL, GraphQL, Mercurius, etc. for the NestJS community
- Lyricstify - Command line based application to show synchronized Spotify lyrics in your terminal. Built with Node, TypeScript, Nest Commander & RxJs.
- NestJs RabbitMQ Transporter with the graceful shutdown - An implementation example of graceful shutdown for microservices based on RabbitMQ message broker.
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.
- Nest Prisma Zod Boilerplate - A best practice for NestJS framework with using Prisma + Postgres, Socket.IO, Zod and Vitest.
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.
- Novu - The open-source notification infrastructure with fully functional embedded notification center.
- 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.
- Necord/Toolkit - Toolkit is an open-source bot for searching and sending documentation, built with Necord.
- Undb - Undb is a no-code database based on Svelte-kit and SQLite.
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 (usingasync_hooks
) -
nestjs-http-promise
- A Promise-based alternative to@nestjs/axios
, with retries feature usingaxios-retry
andaxios
. -
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
: 20,000x times faster runtime validator using pure TypeScript type. -
@nestia/core
: 20,000x times faster validation and 200x faster JSON serialization decorators usingtypia
. Enable to utilize pure TypeScript interface type as DTO, and overall server performance improved by about 30x times. -
@nestia/migrate
: Migration program generating NestJS project fromswagger.json
file. Also possible to generate SDK (collection offetch
functions with type definitions) and Mockup Simulator (backend server simulator embedded in SDK) fromswagger.json
file through@nestia/sdk
-
dto-classes
: Developer-friendly parsing, validation & serialization. Pipes auto-parse via type declarations. Uses properties for field schemas, not decorators.
Code Style
- StyleGuide and Coding Conventions - An unofficial TypeScript StyleGuide.
Web Sockets
Redis
-
@nestjs-modules/ioredis
- A ioredis module for Nest framework. -
@liaoliaots/nestjs-redis
- Redis(ioredis) module for NestJS framework.
-
@squareboat/nest-mailman
- The only ๐ฎ mailer package you need for your NestJS Applications. -
@nestjs-modules/mailer
- A mailer module for Nest framework.
API
@nestjs/swagger
- This's an OpenAPI (Swagger) module for Nest. [Tutorial].-
nestjs-asyncapi
- AsyncAPI module for NestJS. -
@ptc-org/nestjs-query-*
- Nest CRUD for GraphQL APIs. -
@nestia/sdk
- Automatic SDK (Software Development Kit, collection offetch
functions with type definitions liketRPC
), Mockup Simulator (backend server simulator embedded in SDK likemsw
) and Swagger generators, evolved than ever. Also, it can automatically generate e2e test functions for every API routes by analyzing your NestJS server codes.
Middleware
-
@nest-middlewares/*
- Common, injectable middlewares for NestJS.
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
-
eslint-plugin-nestjs
- ESLint rules for NestJS framework. -
@darraghor/eslint-plugin-nestjs-typed
- ESLint rules for NestJS framework.
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
@nestjs/terminus
- Integrated healthchecks, based on Terminus package.-
@metinseylan/nestjs-opentelemetry
- Deeply integrated NestJS OpenTelemetry module with auto instrumentations. -
nest-status-monitor
- Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for NestJS based node servers. -
@narando/nest-xray
- Record incoming and outgoing request for AWS X-Ray, also supports custom instrumentation. -
nestjs-otel
- OpenTelemetry module for NestJS. -
nestjs-hot-shots
- Hot-shots Module for NestJS. A Node.js client for Etsy's StatsD server, Datadog's DogStatsD server, and InfluxDB's Telegraf StatsD server. -
nestjs-prometheus
- NestJS module for Prometheus.
Internationalization (i18n)
-
nestjs-i18n
- Adds i18n support easily to your server, with a rich formatting api build in.
Currency
-
nestjs-cashify
- Currency conversion module for NestJS.
Event
-
nest-event
- Event handling with decorators for NestJS Framework.
Auth
-
nestjs-session
- Idiomatic Session Module for NestJS. Built on top of express-session.
Reability
-
nestjs-resilience
- A module for improving the reliability and fault-tolerance of your NestJS applications.
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 onasync_hooks
).
Microservice
-
nestjs-pg-notify
- NestJS custom transport strategy for PostgreSQL Pub/Sub. -
nestjs-transport-eventbus
- The module for Nest to allow broadcasting events via variety of nestjs trasports in easy way -
nestjs-google-pubsub-microservice
- Custom Google Cloud Pub/Sub microservice transport
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
- Nest + Auth0 - NestJS Framework web application with Auth0.
-
@tfarras/nestjs-firebase-auth
- NestJS Passport Strategy for Firebase Auth using Firebase Admin SDK
Databases
@nestjs/typeorm
- A TypeORM module for Nest framework [Tutorial].@nestjs/mongoose
- A Mongoose module for Nest framework.-
typeorm-factories
- A TypeORM Entities factories. Useful for NestJS unit testing. -
nest-transact
- The simplest transactions using with Nest and TypeORM -
nestjs-typegoose
- A Typegoose module for Nest framework. -
kindagoose
- A fresh Typegoose integration with NestJS that supports dependency injection in hooks. -
@mikro-orm/nestjs
- A MikroORM module for Nest Framework. - Nest Prisma - A Fully Type-Safe ORM for NestJS.
-
nestjs-tile38
- A Tile38 module for Nest framework.
GraphQL
-
@golevelup/nestjs-graphql-request
- Easily inject and work with GraphQLClient instances from server side NestJS code. Useful for interacting with third party GraphQL APIs. -
@golevelup/nestjs-hasura
- NestJS integrations for working with Hasura which provides realtime GraphQL APIs over your Postgres Database.
Pattern
-
nestjs-typeorm-paginate
- A simple function and interfaces for pagination. -
nestjs-paginate
- Pagination and filtering helper method for TypeORM repositories or query builders. -
@jashkasoft/nestjs-json-rpc
- JSON RPC transport layer for the NestJS framework.
Editors
- VSCode
- NestJS Files - Quickly create NestJS Files.
- NestJS Snippets - Vscode NestJS code Snippets.
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
-
nestjs-geteventstore
by PrestaShopCorp - An evenstore.org module for NestJS CQRS with Projects and Subscriptions. Supports Eventstore 21.10.0+ -
@juicycleff/nestjs-event-store
- An evenstore.org module for NestJS CQRS with adapter support to persist lastcheckpoint for Catchup subscription. -
@ocoda/event-sourcing
- An Event Sourcing and CQRS module for NestJS with support for MongoDB and DynamoDB.
Payment Gateways
-
nestjs-braintree
- A module for webhooks and transactions. -
nestjs-stripe
- A module for injecting a configured Stripe client into your services. -
@golevelup/nestjs-stripe
- Injectable client plus autowired Stripe webhook handling for deeper integrations.
Frontend
-
@fusionworks/ra-data-nest-crud
- A React Admin data provider for NextJS CRUD. -
@adminjs/nestjs
- NestJS plugin for AdminBro, an automatic admin interface which can be plugged into your application. -
@forestadmin/agent
- NestJS compatible plugin for Forest Admin, an off-the-shelf administration panel based on a highly-extensible API plugged into your application.
Scheduling
@nestjs/bull
- A Bull module for Nest framework.
Workflow Automation
Chatbots
-
nestjs-telegraf
- A module for creating Telegram bots using NestJS, based on Telegraf. -
necord
- A module for creating Discord bots using NestJS, based on Discord.js.-
@necord/pagination
- A lightweight Pagination module for Necord.
-
File Storage
-
@codebrew/nestjs-storage
- A manage file storage module(flydrive) for NestJS Framework.
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
-
@tfarras/nestjs-firebase-admin
- NestJS Module for Firebase Admin SDK.
Runtime
Command Line / Terminal
@nestjs/cli
- CLI tool for NestJS applications.-
nest-commander
- A module for using NestJS to build up CLI applications -
generator-nestjs-app
- A yeoman generator for NestJS apps. -
nestjs-console
- A NestJS module that provide a cli to application. -
nest-sdk-generator
- A command-line utility to generate a fully typed SDK from a Nest.js REST API
Meetups
- NestJS Meetup - community driven meetup
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, juliandavidmr
has waived all copyright and
related or neighboring rights to this work.