app-masters/mapa-da-vacina

Obter coordenadas - 4h

Closed this issue · 1 comments

Objetivo

Ter as coordenadas dos locais, para logo mais podermos obter os locais mais próximos ao usuário.

Salvar coordenadas

Método getCoordinates

Cloud function chamada, irá obter coordenadas a partir de um CEP.

  • Configurar acesso ao serviço de maps na function (ver no Carers)
  • Criar function que recebe ZIP, sanitiza e validar, verifica na base local, se não tiver na base local buscar no google e salva na base local, retornar o valor encontrado

CEPS e coordenadas

  • Criar collection que tem zip e coordenada, que terá novos registros incluídos e obtidos pelo getCoordinates apenas

Places

  • Obter coordenadas dos places via getCoordinates, quando incluir ou alterar o ZIP, e salvar as coordenadas no place

Obter places por zip

  • Verificar se o cache permite: a) apagar por regex, b) obter por regex ou parcial. Se tiver um dos dois, a gente usa cache
  • Endpoint de places poderá receber opcionalmente um zip nos params
  • Conferir no cache local se já tem prefecture-{id}-zip:{zip}, se tiver já retornar
  • Chamar getCoordinates para obter as coordenadas
  • Se encontrar, ordenar os places por distância da coordenada do zip recebido via params (terá que calcular a distância de cada place (aberto) com as coordenadas obtidas agora, retornar no place um atributo distance pro front poder exibir
  • Salvar no cache objeto que será retornado em prefecture-{id}-zip:{zip}

Obter places por coordenada

  • Endpoint de places poderá receber opcionalmente as coordenadas nos params
  • Pensar em "arredondar" coordenadas (Baraky pode te ajudar nisso). Pensar em como obter o cep a partir da coordenada arredondada (pra gente conseguir utilizar mais caches).
  • Se encontrar, ordenar os places por distância da coordenada do zip recebido via params (terá que calcular a distância de cada place (aberto) com as coordenadas obtidas agora, retornar no place um atributo distance pro front poder exibir

via Hubstaff
User: Bruno Marcos Pinheiro da Silva

Project: Mapa da Vacina - https://app.hubstaff.com/projects/1458472
Date Range: 04/15/21 - 04/20/21
Work session total: 3:59:49
Billable: No

Grand total: 3:59:49