Skip to content

⚙️ Shipping microservice API. This API integrate ZipCode services.

License

Notifications You must be signed in to change notification settings

dbrazl/api-shipping-microservice

Repository files navigation

⚙️ Microserviço de Entrega


Banner

Bem-vindo a API de entrega! Este microserviço foi criado para testar inicialmente a integração com os Correios. Como o serviço SOAP dos Correios está fora do ar, integrei a API com o ViaCEP usando o protocolo REST.


Autor: @dbrazl


🎯 Objetivo

O objetivo deste repositório é apresentar um estudo de caso de integração para consulta de CEP, projetado inicialmente para o protocolo SOAP e adaptado para o serviço ViaCEP devido à instabilidade dos Correios. A aplicação segue boas práticas de desenvolvimento, com princípios SOLID, injeção de dependência, Clean Code e Clean Architecture, visando uma estrutura sólida e escalável.

🛠 Tecnologias

As tecnologias utilizadas nesse projeto foram:

Typescript Node.js Express.js Zod Inversify Docker

📥 Instalação

Sigo os passo abaixo para pode instalar o projeto na máquina alvo.

Passo 1: Download

O primeiro passo é o download do projeto para a máquina alvo. Para isso é necessário que você tenha o Git instalado e uma conta no GitHub.

Com esses requisitos atendidos, uma das formas de fazer o download dos arquivos do projeto é via SSH. Caso ainda não tenha, cadastre uma chave SSH na máquina alvo e a chave pública no GitHub, e após faça o clone do projeto usando o comando abaixo:

  git clone git@github.com:dbrazl/api-shipping-microservice.git

Passo 2: Instalação de pacotes

Para instalar os pacotes do projeto, use o seguinte comando na raiz do projeto:

  yarn

Certifique-se de ter o yarn instalado.

🚀 Como Rodar

Com a etapa de instalação finalizada, você pode iniciar a aplicação tanto diretamente na máquina alvo, quanto com o auxílio do Docker. Por essa API não se comunicar com outros serviços na mesma arquitetura, como por exemplo, um banco de dados ou outros microserviços, eu recomendo iniciar o projeto diretamente na máquina alvo.

Para isso, inicie a aplicação rodando o seguinte comando abaixo:

  yarn dev

Caso prefira usa o Docker, certifique-se que ele está instalado na máquina alvo, e crie uma imagem Docker para aplicação com o comando abaixo:

  docker build -f Dockerfile.dev -t shipping-microservice .

Você deve estar na raiz do projeto ao rodar o comando. Ele lerá o arquivo Dockerfile e criará uma imagem de nome shipping-microservice para o projeto.

Com a criação da imagem, inicie o container com o comando:

  docker run -d -p 3000:3000 --name shipping-microservice shipping-microservice

Isso fara que um novo container com nome shipping-microservice seja criado a partir da imagem criada anteriormente de mesmo nome, e inicia-lo em segundo plano na porta 3000 da máquina alvo.

Agora verifique se o container está em execução via:

  docker ps

Se tudo tiver ocorrido bem, a aplicação estará de pé e poderá ser acessada na porta 3000 da máquina alvo.

Para desligar o container, você pode usar o comando abaixo:

  docker stop shipping-microservice

Caso tenha tido problema durante a criação do container, você pode deletá-lo pelo comando abaixo, e recriá-lo seguindo os passos anteriores.

  docker rm shipping-microservice

O mesmo pode ser feito para a imagem. Caso algo tenha dado errado, use o comando abaixo, e a recrie usando os passos anteriores.

  docker rmi shipping-microservice

📚 Documentação

Siga os links abaixo para ter acesso a(s) documentação(ões) do projeto.

📬 Contato

Se você tiver dúvidas ou sugestões, pode me encontrar em daniel.braz@vyox.io ou através do LinkedIn.

About

⚙️ Shipping microservice API. This API integrate ZipCode services.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published