Skip to content

GeorgianStan/nestjs-microservice-boilerplate

Repository files navigation

Changelog

v2.1.0

  • sample .env file to indicate required environment variables
  • switch to truly private variables, instead of TypeScript modifiers
  • CustomResponse interface includes the namespace now

v2.0.0

Core

  • upgrade to latest NestJS version(v7)
  • folder structure update
  • use cross-env to set the NODE_ENV for cross OS support

Modules

  • refactor utils to simply custom-response
  • CustomResponse interface is a generic now
  • new custom-response status WARNING = 'warning'
  • config.service will use now process.cwd() istead of a relative path
  • config.service will return the values from .env files or from process.env
  • database.module will receive each entity inside the entities instead of 'dist/**/*.entity{.ts,.js}'

Explanation

For a better understanding, check out this article.

Preparation

Write your .env variables

Now is time to write your configuration for this project. Create two files: .env.development and .env.test.

! Both will be ignored with .gitignore

! In production instead of these two, create a new file on your server named .env.production

This is an example for .env.development ! Replace with your config

DB_SERVER_PORT=3306
DB_SERVER_HOST=localhost
DB_SERVER_USERNAME=root
DB_SERVER_PASSWORD=root
DATABASE=users

ERROR_CODE_NAMESPACE=users-microservice

Microservice Port

:8875

Response Format

{
  "status":ResponseStatus
  "data":any -> '' when no data is found
  "error":CustomError
}

ResponseStatus - "success" or "fail"

CustomError - consist of 3 parts: an error code, a message and a namespace. Codes are universal, but messages can vary. Here is the error JSON payload:

{
  "code":number,
  "msg":string || string[]
  "namespace":string
}

Error codes

10xx - General Server or Network issues

1000 UNKNOWN

  • An unknown error occured while processing the request.

1001 DATABASE_ERROR

  • An unknown error occured on database.

11xx - Request issues

1100 BAD_PARAMETERS

  • Bad parameters send to endpoint
  • The validation pipe will return the error as message

About

Boilerplate for a TCP Microservice in NestJS with TypeORM and tests

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy