Este projeto implementa um serviço que recebe um CEP (Código de Endereçamento Postal) brasileiro, identifica a cidade e retorna a previsão do tempo atual (temperatura em Celsius, Fahrenheit e Kelvin). O serviço é projetado para ser implantado no Google Cloud Run.
- Go 1.21.3
- Docker
- Docker Compose
- Task (opcional)
- Air (opcional)
-
Clone o repositório:
git clone https://github.com/rzeradev/google-cloud-run.git cd google-cloud-run
-
Crie e configure o aquivo
.env
:cp .env.example .env # Modifique o arquivo .env como necessário
-
Inicie o Servidor Go com Docker Compose
docker-compose up -d
-
O servidor vai rodar no endereço
http://localhost:8080
-
Rodando os tests
docker compose exec app go test -v ./test
- GET /weather/:zipcode
- Success Response:
{ "temp_C": 28.5, "temp_F": 83.3, "temp_K": 301.5 }
- Invalid ZIP code Response:
{ "message": "invalid zipcode" }
- ZIP code not found Response:
{ "message": "can not find zipcode" }
- Success Response:
- Basta acessar a URL abaixo e substituir o
zipcode
pelo CEP desejado:https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/`zipcode`
-
CEP Existente
https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/26572070
-
CEP Inexistente
https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/16572070
-
CEP Inválido
https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/123
-
Previsão do tempo não encontrada para a cidade
https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/70150900
Este projeto está licenciado sob a MIT License.