temperature_by_cep_with_telemetry

module
v0.0.0-...-611c08c Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2024 License: GPL-3.0

README

API em Golang que retorna a temperatura com telemetria

Sistema que recebe um CEP e retorna a temperatura em Celsius, Fahrenheit e Kelvin, por meio de um CEP de entrada e utiliza telemetria via OpenTelemetry e Zipkin

O retorno dos dados e no formato JSON e na seguinte estrutura:

{ "city: "São Paulo", "temp_C": 28.5, "temp_F": 28.5, "temp_K": 28.5 }

Onde:

city   = a cidade do cep pesquisado 
temp_c = temperatura em Celsius
temp_f = temperatura em Farenheit
temp_k = temperatura em Kelvin

Exemplo de saída:

{
    "city": "Londrina",
    "temp_c": 25.2,
    "temp_f": 77.36,
    "temp_k": 298.2
}

O que é necessário para rodar?

Ter instalado o Go na sua máquina.
Ter instalado o Docker na sua máquina.
Cadastro em https://www.weatherapi.com para ter a API key para utilização na aplicação.

Como rodar?

Na raiz da aplicação, edite o arquivo docker-compose.yml adicionando em services -> service_b -> environment -> WEATHER_API_KEY e adicione sua key fornecida previamente em weatherapi.com, depois, com o serviço do docker ativo, execute no terminal.

docker-compose up

Com os serviços iniciados, faça uma requisição do tipo POST para http://localhost:8080/cep passando no corpo o parâmetro CEP na estrutura:

{
    "cep": "86027410"
}

Para acessar o ZipKin para a exibição do tracer, abra no browser com o endereço

http://localhost:9411/zipkin/

E execute uma requisição. No diretório API na raiz da aplicação, possui um arquivo http que pode ser usado no teste de requisição.

Depois da requisição realizada, clique algumas vezes no botão "Run Query" até que seja exibido o trace com as informações.

Directories

Path Synopsis
internal
dto

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL