Skip to content

[Sugestao] Adicionar filtro de cidades #87

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kpoerista opened this issue May 11, 2024 · 14 comments
Open

[Sugestao] Adicionar filtro de cidades #87

kpoerista opened this issue May 11, 2024 · 14 comments

Comments

@kpoerista
Copy link

Adicionar filtro de cidade para que outras cidades possam utilizar. Moro em Rio Grande e gostaria de Adicionar os abrigos daqui. Obrigado.

@antoniolucasnobar
Copy link

antoniolucasnobar commented May 11, 2024

@kpoerista tu fala de filtro na tela inicial? Eu notei que a tela inicial já tem uma busca que parece ser global.

Notei ainda que diversos abrigos não têm a cidade definida, o que dificultaria o uso do filtro (preciso olhar os modelos para entender se temos a informação da cidade especificada).

EDIT: pelo que a API retorna, temos a latitude e longitude, logo teria de estudar como descobrir qual a cidade a partir disso para aplicar o filtro.

Explica por favor o que te impede de cadastrar os abrigos de Rio Grande.

@kpoerista
Copy link
Author

kpoerista commented May 11, 2024

O site não impede o cadastro, porém dificulta a busca, pois rio grande se confunde com rio grande do Sul. Criando um filtro por cidade facilitaria a busca. Se possível ir além, criando link sos-rs.com/cidade facilitaria mais ainda o compartilhamento

@kpoerista kpoerista reopened this May 11, 2024
@filipepacheco
Copy link
Contributor

filipepacheco commented May 11, 2024

Concordo que essa é uma das demandas mais importantes por agora.
Pra isso, precisamos normalizar o banco de dados e inserir as informações de cidade e CEP.
Já está no nosso backlog com certa prioridade, inclusive passando pelos voluntários de UX.

@henriquecfreitas
Copy link

@filipepacheco estou à disposição para atuar nessa frente no banco de dados / API

@henriquecfreitas
Copy link

Encontrei uma API gratuita (1 request/segundo) para o geocode reverso, para obter o nome da cidade e o CEP a partir das coordenadas de latitude e longitude: https://geocode.maps.co

@antoniolucasnobar
Copy link

E para o preenchimento das cidades no filtro, qual a ideia? Vamos armazenar no banco? usar alguma API?

Eu encontrei essa API do IBGE: https://servicodados.ibge.gov.br/api/docs/localidades

nela temos apis por municipios

https://servicodados.ibge.gov.br/api/v1/localidades/estados/RS/municipios

e essa outra por distritos:

https://servicodados.ibge.gov.br/api/v1/localidades/estados/RS/distritos

Pelo que olhei a de distritos parece mais precisa, eu não encontrei cidades como Carazinho na API de municipios.

Preciso saber se usamos a API direto ou se vamos fazer carga no banco da aplicação.

@henriquecfreitas
Copy link

@antoniolucasnobar acredito que o backend possa expor um endpoint de cidades, que retorna uma lista com as cidades existentes por abrigos (um simples SELECT DISTINCT city FROM shelter daria conta). Dessa forma a lista de cidades no front não exibiria cidades sem abrigos cadastrados

@mvares
Copy link

mvares commented May 11, 2024

@henriquecfreitas, da uma olhada nessa PR

@antoniolucasnobar
Copy link

eu pensei nisso tambem @henriquecfreitas, embora nao sei se pode ficar uma ux estranha para o usuario procurar sua cidade e nem conseguir completar (ele pode procurar para ver se existe ou entao tentar cadastrar, como foi o caso de @kpoerista que queria cadastrar os de Rio Grande).

@henriquecfreitas vc pretende adicionar esse endpoint no teu PR? pq nao eh possivel fazer isso antes do #57 ser integrado.

@Victorcassiano
Copy link

Victorcassiano commented May 11, 2024

Na verdade, no cadastro de abrigo, daria para receber CEP(que já informa muita coisa de puxar em um API https://viacep.com.br/), Rua e numero da casa

@henriquecfreitas
Copy link

@mgrithm
| @henriquecfreitas, da uma olhada nessa [PR](https://github.com/SOS-RS/backend/pull/57l

Já dei, esse PR é o que eu subi no backend para encaminhar o primeiro passo para resolver essa issue rs

@henriquecfreitas
Copy link

henriquecfreitas commented May 11, 2024

@antoniolucasnobar
Acredito que essa questão seja um caso de trade off:
para o usuário de menor inserção digital não apresentar a sua cidade vai sim causar uma confusão;
para o usuário padrão a mensagem de que não há abrigos na cidade seria recebida mais diretamente.

Uma solução ideal talvez seria fazer uma solução híbrida buscando em duas fontes (no backend e em uma outra API externa), de forma a contemplar todas as cidades do RS, e exibir algum identificador visual tornando indisponíveis as que não tem abrigos cadastros

@henriquecfreitas
Copy link

@Victorcassiano

Na verdade, no cadastro de abrigo, daria para receber CEP(que já informa muita coisa de puxar em um API https://viacep.com.br/), Rua e numero da casa

Pelo que eu entendi do backend a fonte de dados atual recebe apenas as coordenadas de latitude e longitude a partir de uma integração externa com os locais salvos no google maps. O CEP não está disponível no backend (até então).
Como só tive conhecimento da aplicação ontem a noite (e hoje estava até agora a pouco no jogo treino do Galo, beneficente para as vítimas das enchentes no RS) não consegui identifcar até então nenhuma outra fonte externa para identificar os detalhes da localzação dos abrigos além das próprias coordenadas.

@henriquecfreitas
Copy link

henriquecfreitas commented May 11, 2024

@antoniolucasnobar
| @henriquecfreitas vc pretende adicionar esse endpoint no teu PR? pq nao eh possivel fazer isso antes do SOS-RS/backend#57 ser integrado.

Não pretendo, não é possível fazer isso antes desse PR ser deployado e nem antes de ele ter processado uma boa parte dos abrigos (rodando a 1 execução por minuto a carga total demoraria quase 10 horas, recomendo que ela seja ajustada para algo em torno de 2 a 5 segundos inicialmente)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants