Giter VIP home page Giter VIP logo

nestjs-serverless-boilerplate's Introduction

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

nestjs-serverless-boilerplate's People

Contributors

tux86 avatar mohamedetteyeb avatar

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.