O sistema em Go que receba um CEP, identifica a cidade e retorna o clima atual (temperatura em graus celsius, fahrenheit e kelvin).
- Certifique-se de ter o Golang 1.19 instalado em sua máquina.
- Clone o repositório:
git clone https://github.com/GiovaniGitHub/cep-weather.git
- Navegue até o diretório do projeto:
cd cep-weather
- Crie um .env a partir do .env.template e altere o campo Exemplo
WEB_SERVER_PORT=8080
ENVIRONMENT=development
URL_BASE=http://localhost
- Requisitos basicos:
- Golang v1.19
make run # Roda o projeto
make test # Executa os testes
make all # Executa os testes e o projeto
- Requisitos basicos:
- Docker
- Altere o campo CONTAINER_NAME no arquivo makefile
make build-docker # Cria a imagem docker do projeto
make run-docker # Roda o projeto
- Requisitos basicos:
- Docker
docker compose -f docker-compose.yml up -d # Roda o projeto # Cria a imagem docker do projeto
Comando | Resultado |
---|---|
curl -X 'GET' 'http://localhost:8080/cep/70070080' -H 'accept: application/json' | {"temp_C":"36","temp_F":"96.80","temp_K":"309.00"} |
curl -X 'GET' 'http://localhost:8080/cep/7007008A' -H 'accept: application/json' | invalid zipcode |
curl -X 'GET' 'http://localhost:8080/cep/70070081' -H 'accept: application/json' | can not found zipcode |
- Em produção a aplicação esta rodando no Google Cloud Run.
- Segue um teste possivel
curl -H "Content-Type: application/json" https://cep-weather-prqp4ppyua-uc.a.run.app/cep/70070080
Onde a saída possível é:
{"temp_C":"28","temp_F":"82.40","temp_K":"301.00"}
Obs.
- Caso queira subir a aplicação em usa conta no Google Cloud Run é necessário modificar o Dockerfile e setar o valor da porta para expor a aplicação (que geralmente é a porta 8080)
- Também altere o ENVIRONMENT no .env para production