gabrielhsantos / project_knowledge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

project_knowledge

Este microsserviço foi desenvolvido para ilustrar a essência da minha stack tecnológica e a forma como estruturo os meus códigos. Ele serve como um exemplo vivo do meu estilo de arquitetura, permitindo que eu apresente não apenas as tecnologias que escolhi, mas também a maneira como aplico as melhores práticas de desenvolvimento e organização em projetos de software. O projeto encapsula as funcionalidades, assim como representa o cuidado e a atenção dedicados à concepção e à implementação de um projeto coeso e escalável.

🚀 Começando

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js, Docker Além disto, é imprescindível ter um editor para trabalhar com o código como VSCode

📋 Pré-requisitos

As seguintes ferramentas foram usadas na construção do projeto:

🔧 Instalação

# Clone este repositório
$ git clone git@github.com:gabrielhsantos/project_knowledge.git

# Acesse a pasta do projeto no terminal/cmd
$ cd project_knowledge/microsservice-nestJS/

# Instale as dependências
$ npm ci

🎲 Rodando o Back End (servidor)

# Execute o script para iniciar o container com as dependências
$ npm run infra:up

# Execute a aplicação
$ npm start

# O servidor inciará na porta:3000 - acesse <http://localhost:3000> (ou a porta que foi definida no arquivo .env)

⚙️ Executando os testes

Para rodar os testes, basta utilizar este comando via terminal/cmd:

$ npm t

Caso queira rodar os testes de forma separada, basta rodar:

# Para testes de integração
$ npm run test:integration

# Para testes unitário
$ npm run test:unit

Observação: O Coverage não está em 100% pois é apenas um modelo.

📦 Documentação

Um arquivo com extensão .json se encontra na pasta: src/shared/docs

O mesmo pode ser importado dentro do Postman, para facilitar o acesso aos endpoints.

Caso queira acessar a documentação através do Swagger, basta acessar o link pelo seu navegador DOC com o servidor rodando.

⌛ Planos Futuros

Tenho a ideia de acrescentar um BFF (Backend For Frontend), com GraphQL + Websocket para a utilização como um proxy, servindo de Gateway para o microsserviço atual. Somado a isso, tenho como os próximos passos, a implementação dos seguintes módulos:

  • Event -> Kafka
  • Cache -> Redis
  • Observabilidade -> Datadog

About


Languages

Language:TypeScript 96.9%Language:JavaScript 2.5%Language:Shell 0.4%Language:Dockerfile 0.3%