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.
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.
As tecnologias utilizadas nesse projeto foram:
Sigo os passo abaixo para pode instalar o projeto na máquina alvo.
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
Para instalar os pacotes do projeto, use o seguinte comando na raiz do projeto:
yarn
Certifique-se de ter o yarn instalado.
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
Siga os links abaixo para ter acesso a(s) documentação(ões) do projeto.
Se você tiver dúvidas ou sugestões, pode me encontrar em daniel.braz@vyox.io ou através do LinkedIn.