cep-weather

module
v0.0.0-...-fb0892d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2024 License: GPL-3.0

README

Go Expert - LAB Desafio

Descrição

O sistema em Go que receba um CEP, identifica a cidade e retorna o clima atual (temperatura em graus celsius, fahrenheit e kelvin).

Conteúdo

  1. Como Rodar o Projeto
  2. Testes Automatizados
  3. Docker
  4. Deploy no Google Cloud Run

Como Rodar o Projeto

Ambiente de Desenvolvimento
  1. Certifique-se de ter o Golang 1.19 instalado em sua máquina.
  2. Clone o repositório: git clone https://github.com/GiovaniGitHub/cep-weather.git
  3. Navegue até o diretório do projeto: cd cep-weather
  4. Crie um .env a partir do .env.template e altere o campo Exemplo
WEB_SERVER_PORT=8080
ENVIRONMENT=development
URL_BASE=http://localhost
Rodar Sem Docker
  • Requisitos basicos:
    • Golang v1.19
    make run # Roda o projeto
    make test # Executa os testes
    make all # Executa os testes e o projeto
Rodar Com Docker
  • 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
Rodar com Docker Compose
  • Requisitos basicos:
    • Docker
    docker compose -f docker-compose.yml up -d # Roda o projeto # Cria a imagem docker do projeto
Teste da API
Usando CURL
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
Usando Swagger
Aplicação em execução no Google Cloud Run
  1. Em produção a aplicação esta rodando no Google Cloud Run.
  2. 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

Directories

Path Synopsis
cmd
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
infra
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳