Skip to content

A curated list of awesome things related to NestJS 😎

Notifications You must be signed in to change notification settings

nestjs/awesome-nestjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nest Logo

Awesome NestJS

A curated list of awesome things related to NestJS

Resources     Contribution guide     Official documentation

Awesome

Contents

Resources

Official Resources

Community

Community-made documentations

Talks

Trainings

Tutorials

Examples

Boilerplate

  • Clean NestJs architecture - This boilerplate show how to setup a clean architecture with NestJs including unit, integration and e2e tests.
  • 🧪 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.
  • NestJS Boilerplate using Typescript Generics - A NestJS boilerplate that uses abstraction to create generic controller, service, dtos and entity, aiming to encapsulate a reusable logic throughout the project in one centralized base module using TypeORM & MongoDB.
  • NestJS Drizzle Auth.js - A Nest.js Boilerplate Using Drizzle + Postgres and integrates Auth.js.
  • NestJS Boilerplate with Awesome Docs - A NestJS boilerplate with SWC builder, PNPM, Auth, TypeORM, PostgreSQL, Seeding data (TypeORM Extension), Mailing (@nestjs-modules/mailer, nodemailer), Logging (Pino), Exception Handling, I18N, Dockerization (Local development, production), Swagger, Document (Vuepress), Lint & format (ESLint, Prettier, Editorconfig, Husky, Lint-Staged, Commitlint), Tests, CI.

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.
  • 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.
  • Teable - A Super fast, Real-time, Professional, Developer-friendly, No code database.
  • 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.
  • Eicrud - An opinionated framework that extends NestJS with CRUD services, user management commands, and authorization controls.

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.
  • configfy - A decorator based configuration module that makes it easier to deal with configuration files and secrets.
  • @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: 20,000x times faster runtime validator using pure TypeScript type.
  • @nestia/core: 20,000x times faster validation and 200x faster JSON serialization decorators using typia. Enable to utilize pure TypeScript interface type as DTO, and overall server performance improved by about 30x times. Also, supports advanced websocket controlle methods through tgrid.
  • @nestia/migrate: Migration program generating NestJS project from swagger.json file. Also possible to generate SDK (collection of fetch functions with type definitions) and Mockup Simulator (backend server simulator embedded in SDK) from swagger.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.
  • nestjs-conditional-exception-filter - A tiny utility to support attribute-based exception filtering, ie., no need to use classes for @Catch().
  • murlock - MurLock is a distributed lock solution designed for the NestJS framework. It provides a decorator @MurLock() that allows for critical sections of your application to be locked to prevent race conditions.
  • @nestjs-library/config - A NestJS module for managing environment variables easily and securely
  • @youba/nestjs-dbvalidator - A NestJS module has some built-in database validators using class-validator and typeorm
  • @jmcdo29/nestjs-spelunker - A NestJS module that does a bit of a dive through the provided module and reads through the dependency tree from the point of entry given.

Code Style

Web Sockets

  • @nestjs/websockets
  • tgrid - TypeSCript RPC (Remote Procedure Call) framework supporting websocket and worker protocols with pure TypeScript types. Supports NestJS websocket controller methods with @nestia/core.

Cache

  • nestjs-omacache - A simple, flexible and powerful cache decorator factory for NestJS framework

Redis

Mail

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 of fetch functions with type definitions like tRPC), Mockup Simulator (backend server simulator embedded in SDK like msw) and Swagger generators, evolved than ever. Also, it can automatically generate e2e test functions for every API routes by analyzing your NestJS server codes.
  • nest-problem-details An exception filter to return RFC-7807-compliant HTTP responses.
  • @nestjs-library/crud - Automatically generates CRUD routes of a controller for given TypeORM entity.

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

Reliability

  • nestjs-resilience - A module for improving the reliability and fault-tolerance of your NestJS applications.
  • nestjs-graceful-shutdown - A powerful package for gracefully shutting down 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 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

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.