Skip to content

Serverless Multi-tenant NestJS backend "Boilerplate" + Fastify + Serverless Framework 3 + Graphql + Modules for AWS Serverless Services (SES,SQS,SecretsManager,Aurora RDS)

Notifications You must be signed in to change notification settings

tux86/nestjs-serverless-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c1c0eec · Aug 1, 2022
Apr 24, 2022
May 14, 2022
May 15, 2022
May 14, 2022
May 10, 2022
May 15, 2022
May 10, 2022
May 15, 2022
May 19, 2022
Aug 1, 2022
Apr 21, 2022
Apr 24, 2022
Apr 13, 2022
May 19, 2022
May 19, 2022
Apr 13, 2022
May 13, 2022
May 14, 2022
May 19, 2022

Repository files navigation

Serverless Multi-tenant NestJS backend "Boilerplate"

Serverless Multi-tenant monolithic backend app made with NestJS 8 + Serverless Framework

Features:

NestJS:

  • NestJS 8 + Fastify + TypeORM
  • NestJS/Graphql - multiple endpoints (public, management, internal)
  • Pagination, sort, search and filtering for Rest & Graphql APIs
  • Includes Buniness logic Exceptions with namespaced codes
  • Using Exception filters and logging
  • custom validators

IAC Serverless Framework (AWS):

  • Serverless Framework 3
  • serverless-offline (full working local envrionnement with aws services mocking)
  • single Lambda function aka. mono-lambda
  • use of Lambda function URLs instead of Lambda + Api Gateway
  • Custom domain endpoints (Route53 → Cloudfront → Lambda)
  • arm64 architecture for lambda
  • using 100% aws-sdk (v3)
  • AWS Cognito JWT token validation with AuthGuard

Core modules:

AWS Modules:

  • Cognito module
  • SQS module: SQS producer/consumer (use of NestJS Standalone application for consumer)
  • SES module (inspired by @ssut/nestjs-sqs) https://www.npmjs.com/package/@ssut/nestjs-sqs
  • S3 module
  • SecretsManager module: used by database module to load db credentials

Other topics

Installation

$ yarn install

Running the app

# development
$ yarn start

# watch mode
$ yarn start:{app-name}:dev

Test

# unit tests
$ yarn test

# e2e tests
$ yarn test:e2e

# test coverage
$ yarn test:cov

About

Serverless Multi-tenant NestJS backend "Boilerplate" + Fastify + Serverless Framework 3 + Graphql + Modules for AWS Serverless Services (SES,SQS,SecretsManager,Aurora RDS)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published