Skip to content

Fetching shelter location data - #57

Open
henriquecfreitas wants to merge 4 commits into
SOS-RS:developfrom
henriquecfreitas:fetching-shelter-location-data
Open

Fetching shelter location data#57
henriquecfreitas wants to merge 4 commits into
SOS-RS:developfrom
henriquecfreitas:fetching-shelter-location-data

Conversation

@henriquecfreitas

@henriquecfreitas henriquecfreitas commented May 11, 2024

Copy link
Copy Markdown

A partir das alterações inicialmente propostas no PR #6 , e da discussão na issue aberta em SOS-RS/frontend#87 , este PR introduz novas propriedades no schema de Shelter, possibilitando que a aplicação trate a exibição e busca pela localização dos abrigos com um maior nível de detalhes.

Os dados de localização dos novos abrigos (assim como dos já cadastrados atualmente) serão populados individualmente a partir de uma função executada via CRON a cada minuto, visando não sobrecarregar a cota gratuita da API Geocoding (https://geocode.maps.co). Acredito que para a primeira carga essa operação pode ser feita em lotes com menor intervalo de execução.

edit

PS: Após a primeira carga a abordagem de execução da rotina poderia ser alterada para ser trigada em fila após o cadastro de um novo abrigo, já recebendo o ID e os dados de lat/long do mesmo, para evitar a repetição de consultas desnecessárias ao banco pelo CRON.

Comment thread src/shelter/populateShelterCity.cron.ts Outdated
longitude,
}: {
latitude: number;
longitude: number;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Crie a interface e a passe como parametro.

Por exemplo:

props: IReverseGeoCodeProps

ao inves de passar uma interface hardcoded.

Daí faça isso em todas interface do seu PR por gentileza.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feito

}: ReverseGeoCodeInput): Promise<ReverseGeoCodeOutput> {
const reverseGeocodeURI = `https://geocode.maps.co/reverse?lat=${latitude}&lon=${longitude}&api_key=${this.geocodeApiKey}`;

const response = await fetch(reverseGeocodeURI, {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não seria uma opção utilizar o modulo http do nestjs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants