Skip to content

Golang Coding Challenge: Deploy API to Google Cloud Run

License

Notifications You must be signed in to change notification settings

rzeradev/google-cloud-run

Repository files navigation

Go Challenge Google cloud Run: Weather API

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.

Requisitos

  • Go 1.21.3
  • Docker
  • Docker Compose
  • Task (opcional)
  • Air (opcional)

Setup

  1. Clone o repositório:

    git clone https://github.com/rzeradev/google-cloud-run.git
    cd google-cloud-run
  2. Crie e configure o aquivo .env:

    cp .env.example .env
    # Modifique o arquivo .env como necessário
  3. Inicie o Servidor Go com Docker Compose

    docker-compose up -d
  4. O servidor vai rodar no endereço http://localhost:8080

  5. Rodando os tests

    docker compose exec app go test -v ./test

Endpoints da API

  • 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"
      }

URL do Projeto rodando na Google Cloud Run

  1. Basta acessar a URL abaixo e substituir o zipcodepelo CEP desejado:
    https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/`zipcode`

Exemplos que podem ser testados

  1. CEP Existente

    https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/26572070
  2. CEP Inexistente

    https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/16572070
  3. CEP Inválido

    https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/123
  4. Previsão do tempo não encontrada para a cidade

    https://google-cloud-run-golang-hmyixbzgba-rj.a.run.app/weather/70150900

Licença

Este projeto está licenciado sob a MIT License.

About

Golang Coding Challenge: Deploy API to Google Cloud Run

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published