/openapi-nestjs-auth-mongo

Generic micro-services dev framework w/ user accounts, permissions and authentication management

Primary LanguageTypeScriptMIT LicenseMIT

NestJs NodeJs Typescript MongoDB JWT Jest Yarn Docker

S*OpenAPI

Purpose

A mono repo to develop a set of NestJs-based Open API Services, Restful API Microservices with full auth support

Made with following best practices:

Modules

  • account-api: User accounts, permissions, service settings & API keys management
  • common-utils: Common set of utilities for the MS APIs: authentication, security guards, pagination, filters, etc.
  • sales-api: set of APIs to query sales info

Important

Work in progress. Updates, customizations and new features are still required.

Built With

Describes which version of the main packages and main tools.

Name Version
NestJs v8.x
NodeJs v17.x
Typescript v4.x
Mongoose v6.x
MongoDB v5.x
Yarn v1.x
NPM v8.x
Docker v20.x
Docker Compose v2.x

Dev Instructions

Init your dev environment

lerna bootstrap 
lerna link
lerna run build

OR

make bootstrap

Test

lerna run test

Prerequisites

  1. Understand NestJs Fundamental, Main Framework. NodeJs Framework with support fully TypeScript.
  2. UnderstandTypescript Fundamental, Programming Language. It will help us to write and read the code.
  3. Understand ExpressJs Fundamental, a NodeJs based Framework. It helps in understanding how the NestJs Framework works.
  4. Understand what NoSql is and how it works as a database, especially MongoDB.

TODOs

Next developments:

  • Production: Nestjs composition and Docker images generation
  • Complete CI/CD of modules using Github actions
  • Integrate Terraform for deploying the containers on k8s
  • Deploy on Azure Kubernetes Services

License

Distributed under MIT licensed.

Contact

Jabba 01

Github LinkedIn