Serverless Multi-tenant monolithic backend app made with NestJS 8 + Serverless Framework
- 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
 
- 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
 
- 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
 
- Semantic Versioning: https://github.com/0xb4lamx/nestjs-boilerplate-microservice/blob/master/docs/guidelines.md
 
$ yarn install# development
$ yarn start
# watch mode
$ yarn start:{app-name}:dev
# unit tests
$ yarn test
# e2e tests
$ yarn test:e2e
# test coverage
$ yarn test:cov