4lessandrodev / microservice

template for microservice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Template - Microservice

Este template possui comandos automatizados para gerar componentes para a construção do backend. Os comandos podem ser executados com:

  • yarn
  • npm

Este microservice utiliza o conceito de Message Broker


Como utilizar a cli

Antes de tudo instale as dependências

$ yarn

Utilizando a cli com yarn

$ yarn types-ddd

Utilizando a cli com npm

$ npm run types-ddd

Gerenciador de pacotes

Para instalar e gerenciar novos pacotes (libs) utilize yarn.

Dependência de produção

$ yarn add <package-name>

Dependência de desenvolvimento

$ yarn add <package-name> -D

Alias Path

Este template já possui um alias global @modules e @shared configurado

  • @modules/* aponta para o caminho src/modules/*
  • @shared/* aponta para o caminho src/shared/*

Para adicionar novos alias siga o modelo nos arquivos:

  • tsconfig.json
  • jest-e2e.json
  • jest.config.json

A inclusão deve ser feita em todos esses 3 arquivos.


Scripts

Testes.

Executar testes unitários.

obs: Os teste unitários devem ter o padrão de nome <file-name>.spec.ts

$ yarn test

Executar testes de integração.

obs: Os teste de integração devem ter o padrão de nome <file-name>.test.ts

$ yarn test:e2e

Executar a aplicação em watch mode

$ yarn start:dev

Executar a aplicação

$ yarn start

Para verificar se a aplicação está ok. Esta aplicação é um microservice que se conecta ao broker message do rabbitmq. Para subir um broker utilize o docker-compose

$ docker-compose up -d

Acesse o broker


GET http://localhost:15672/

Verificar se a aplicação se conectou com o broker

Acesse o painel


Variáveis

As variáveis de ambiente devem ser definidas no arquivo

src/shared/env.ts

Após definir as variáveis no env.ts você pode definí-las no arquivo .env


Commits

Os commits devem seguir a convenção do commit lint

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]
  • feat: nova feature
  • build: mudanças que afetam o processo de build
  • chore: instalação de lib, ou configuração de ferramentas
  • ci: configuração de script ou processos do pipeline
  • docs: atualização de documentação
  • style: mudanças que afetam o estilo do código, formatação etc
  • refactor: alteração ou melhoria de código que não seja bug ou feature
  • perf: melhorias de código que melhoram a performance
  • test: adicionado testes ou correção de algum

Exemplo:

$ git commit -m "test (payment): ensure payment confirmation"

About

template for microservice


Languages

Language:TypeScript 79.4%Language:JavaScript 17.0%Language:Shell 3.6%