Este projeto é um template para a criação de microserviços.
Este projeto está dividido nas seguintes seções:
- Requisitos básicos
- Ferramentas para qualidade de código
- Configuração inicial do projeto
- Configuração do ambiente de desenvolvimento
- Primeiros passos
- Guia de estilo
- Arquitetura do projeto
- Contribuidores
Este projeto faz uso da plataforma Node.js e o sistema deve possuir os seguintes executáveis instalados:
node
npm
As respectivas versões estão descritas dentro do arquivo package.json
(na raiz do projeto) na seção (nó) engines
.
Caso tenha os executáveis instalados e deseje verificar as versões, no seu terminal (prompt de comando ou linha de comando dependendo do seu sistema) utilize os comandos:
# Mostra a versão do node
$ node --version
# Mostra a versão do npm
$ npm --version
Garanta que as ferramentas tenham total acesso de permissão tanto para escrita quanto leitura, já que vários arquivos e configurações serão gerados automaticamente nos próximos passos.
Esse projeto faz uso de um conjunto de ferramentas para garantir uma melhor qualidade de código. Segue a lista das ferramentas e uma breve descrição do propósito de cada uma:
eslint
: ferramenta responsável por identificar, reportar e aplicar diferentes regras de codificação num projeto. Neste projeto, as regras estão definidas dentro do arquivo .eslintrc.jsprettier
: ferramenta responsável por estilizar o código seguindo padrões pré-estabelecidoshusky
: permite a execução de scripts antes, durante ou após comandos git, exemplo: executar o linter no projeto antes de realizar o commitlint-staged
: garante que apenas arquivos marcados como staged sejam utilizados por scripts, exemplo: num projeto com 2 arquivos index.ts e person.ts, se o arquivo person.ts sofreu alteração e o index.ts não, apenas o arquivo person.ts passará pelo processo de lintinggit-commit-msg-linter
: garante que as mensagens de commit estejam sempre no mesmo formato: <type>[scope]: <description>
Lembrando que todas as ferramentas contribuem para um código mais limpo e enxuto, mas todos devemos trabalhar continuamente para manter esta qualidade.
Primeiramente, faça a instalação das dependências do projeto. Para isso, abra o terminal, navegue para o diretório deste projeto e execute o comando abaixo:
# Execute a instalação das dependências do projeto
$ npm install
Confirme a existência do arquivo .env
com as variáveis de ambiente atualizadas. Caso não possua, converse com um membro para equipe para que envie a você.
Aqui faremos o setup das ferramentas para manter a qualidade do código. Todas as ferramentas são configuradas automaticamente durante a instalação das dependências do projeto, mas o eslint
e o prettier
são melhores quando utilizados em conjunto com a IDE.
Abaixo, faremos o setup para as seguintes IDEs:
Primeiramente, vamos fazer a instalação do plugin Prettier
na IDE. No menu superior esquerdo clique em File --> Settings
e navegue para a opção Plugins
. Outras opções para acessar este menu são:
- Usar a hotkey
ctrl + alt + s
e selecionar a opção plugins - Usar a hotkey
shift + shift
, digitar plugins e selecionar a açãoPlugins
- Usar a hotkey
ctrl + shift + a
, digitar plugins e selecionar a açãoPlugins
Selecione a aba marketplace, pesquise por prettier e instale o plugin. Siga as instruções da IDE (caso ela solicite alguma coisa).
Ainda com a janela de opções (settings) aberta, use o campo de pesquisa para encontrar o termo eslint. Para o eslint, selecione as opções Automatic ESLint configuration e Run eslint --fix on save.
Novamente no campo de pesquisa, procure pelo termo prettier. Para o prettier, siga as instruções abaixo:
- verifique se a opção Node interpreter está configurada com a versão correta do node, conforme os requisitos básicos
- para o Prettier package, selecione o diretório do pacote do prettier no projeto. Normalmente o pacote se encontra dentro do diretório node_modules, exemplo:
~/projects/microservice-template/node_modules/prettier
- garanta que a opção Run for files, esteja configurada da seguinte forma:
{**/*,*}.{js,ts,jsx,tsx}
- por último, marque a opção On save
Pronto, IDE configurada. Para garantir que a configuração está correta, experimente alterar o código criando uma variável utilizando var. Deve aparecer um erro sublinhando o local e ao salvar este erro deve ser corrigido automaticamente.
Primeiramente, vamos fazer a instalação do plugin ESLint
. No menu lateral esquerdo, clique em Extensões
. Outra opção é utilizar a hotkey ctrl + shift + x
.
No campo de pesquisa, busque o termo eslint. Será apresentada uma lista de plugins, instale o ESLint
criado por Dirk Baeumer
.
Pronto, IDE configurada. Para garantir que a configuração está correta, experimente alterar o código criando uma variável utilizando var. Deve aparecer um erro sublinhando o local e ao salvar este erro deve ser corrigido automaticamente.
Com o projeto configurado, basta abrir o terminal, navegar para o diretório do projeto e executar o comando:
# Roda o projeto
$ npm run start
Além deste, existem outros comandos/scripts disponíveis. Para verificar a lista completa, abra o arquivo package.json
na raiz do projeto. Na seção (nó) scripts estará a lista completa de todos os comandos que podem ser executados com o projeto e o que cada um faz.
Muito obrigado a todos que contribuiram no desenvolvimendo do projeto (emoji key):
Diego Moura 🤔 |
João Ribeiro Junior 💻 |
Esse projeto segue a especificação all-contributors. Contribuições de todos os tipos são bem-vindas!