Obter coordenadas - 4h
Closed this issue · 1 comments
TiagoGouvea commented
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
bmarcosps commented
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