Skip to content
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

Evitar duplicatas no cadastro de novos itens (usando autocomplete na busca) #254

Closed
giggio opened this issue May 19, 2024 · 30 comments · Fixed by #275
Closed

Evitar duplicatas no cadastro de novos itens (usando autocomplete na busca) #254

giggio opened this issue May 19, 2024 · 30 comments · Fixed by #275
Assignees
Labels
enhancement New feature or request product-definition

Comments

@giggio
Copy link
Member

giggio commented May 19, 2024

TL;DR

Mudança no cadastro de novos itens para evitar duplicatas, otimizando a quantificação das demandas. O botão de cadastro de novos itens deixa de existir, a busca vira o meio para cadastrar itens que ainda não existem.

Problema

🗣️ **User story:** Eu sou um doador (CD ou pessoa física). Eu estou tentando entender a necessidade de itens de um abrigo. Mas existem muitos itens similares cadastrados como “água” e “água 1L” porque as pessoas não têm consciência do que já existe o que faz com que eu não consiga entender a demanda de forma clara e objetiva.

Precisamos garantir que o registro seja eficiente para o usuário, entregando a informação centralizada. Por isso, é importante que o usuário possa ver quais itens já foram cadastrados e evite cadastrar itens muito similares.

Design

https://www.figma.com/design/uy6ukD6inEdpvaKVhIyobX/SOS-RS?node-id=1002%3A1052&t=gMoiIFBjpx9R1EX3-1

Critérios para aceitação

  1. O botão de “cadastrar novo item” deixa de existir;
  2. O campo de busca habilita a adição de novos itens quando o item digitado não existe. A partir do autocomplete o usuário consegue entender a similaridade entre o item que está buscando e o que deseja adicionar;
  3. O campo de busca mostra os itens que já foram cadastrados anteriormente a partir de um autocomplete;
  4. Se o item desejado estiver na lista de sugestões, o usuário pode selecioná-lo para evitar criar um novo registro duplicado;
  5. Se o item ainda não existe é possível criar um novo item;
  6. Existe uma label explicando que o cadastro de novos itens é feito a partir da busca;
  7. O sistema deve ser capaz de identificar e diferenciar itens com nomes semelhantes, mas detalhes diferentes.

Critério de sucesso

Centralização dos itens em uma lista coesa no banco de dados a partir da qual o usuário pode identificar as necessidades e a plataforma pode quantificar as demandas.

@giggio giggio added the enhancement New feature or request label May 19, 2024
@giggio giggio transferred this issue from SOS-RS/backend May 19, 2024
@larissapissurno
Copy link
Contributor

opa, posso pegar essa @giggio?

@giggio
Copy link
Member Author

giggio commented May 19, 2024

@larissapissurno Pode, sim! Se precisar de apoio fala com a galera no Discord. Esse item tem prioridade alta, então tem dar uma corrida! Bora!

@giggio giggio moved this from Disponível pra dev to Em desenvolvimento in SOS-RS May 19, 2024
@larissapissurno
Copy link
Contributor

on it! tranquilo, to acompanhando o discord lá, qualquer coisa dou um grito o/

@larissapissurno
Copy link
Contributor

pronto pra code review, @giggio, poderia mover pra coluna de revisão? thx!

@larissapissurno
Copy link
Contributor

larissapissurno commented May 20, 2024

@giggio qq, temos algum SLA por prioridade de tasks/bugs? seria legal uma definição nesse sentido, o que acha?

@giggio giggio moved this from Em desenvolvimento to Em revisão (dev) in SOS-RS May 20, 2024
@giggio
Copy link
Member Author

giggio commented May 20, 2024

Movido!
Pois é, a ideia é que os itens de prioridade alta levem até dois dias, eu mandei um PR no repo de backend pra propor isso.

@TucanoWeb
Copy link
Contributor

TucanoWeb commented May 20, 2024

Opa, bom dia. Veja se a solução abaixo atende:

#229

  • Usuário inicia o cadastro do item e recebe uma lista de itens com caracteres inclusos no input;
  • Sistema verifica se o item já é registrado para o próprio abrigo, caso positivo, permite a edição na própria página, de forma muito prática. Se não, permite a criação do novo item;
  • Após o cadastro ou edição, usuário recebe notificação que a ação foi executada com sucesso e retorna para tela de detalhes do abrigo.

Video_1715941726

@giggio
Copy link
Member Author

giggio commented May 20, 2024

@TucanoWeb pelo visto temos implementações para resolver problemas parecidos. Criei um tópico no Discord pra discutir como atuar: https://discord.com/channels/1237553809371299950/1242105427697729586

@rhuam
Copy link
Contributor

rhuam commented May 20, 2024

O PR #275 Satisfaz as necessidades de produto para essa issue.

vinny-silveira added a commit that referenced this issue May 21, 2024
## Related Issue

Closes #254 

## Overall

Este PR tem como objetivo alterar a forma como é feita a busca de itens
na tela de abrigo para evitar a duplicação de itens.

As alterações propostas incluem: 
- Remove o botão de cadastrar novo item no topo da página
- Adiciona autocomplete para busca de itens 
- Adiciona opção de cadastrar novo item no autocomplete

## Screen recording

https://github.com/SOS-RS/frontend/assets/8760873/74db3fa0-c45c-4b7a-afb2-d3d5279c0106
@github-project-automation github-project-automation bot moved this from Em revisão (dev) to Entregue (Po + Dev + Infra) in SOS-RS May 21, 2024
@larissapissurno
Copy link
Contributor

@SOS-RS/qas poderiam confirmar se essa issue foi testada em QA?

@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno testando aqui...

@larissapissurno
Copy link
Contributor

@HbLuca os itens estavam sendo movidos automaticamente pra done quando o PR mergeava, vou mover todos que estao em done e sem comment de QA pra coluna "Disponível pra QA", tudo bem?

@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno
Realizado, seguindo o passo a passo e vendo o design...
Fica aberto alguns questionamentos.

1 - Ficará a cargo/boa fé do povo? Já que vi que o cenário 1 foi o único que atendeu no ambiente de Q.A, Prod e Dev, cenário 2 e 3 não foram contemplados.

2 - Não existe aviso sobre duplicação de item, apenas o que ocorre é caso adicione o item com modificação de prioridade e quantidade (Não sei se isso seria algo agravante, lembrando que isso é continuidade do 1), ele deixa o valor atual e nem a mensagem de erro sobre item não encontrado é apresentado.

3 - Ao pesquisar, por exemplo bombona de água que está em Eletrodomésticos e Eletrônicos e adiciona-lo em outro local como Equipamentos de Emergência, ele está sendo aceito. Local realizado: Igreja Lugar de adoração.

Vide Loom:
https://www.loom.com/share/8fac76d373db4110b21206aeb38eda59?sid=c323be42-f251-4158-a78b-020c2e7c97eb

@HbLuca HbLuca reopened this May 25, 2024
@github-project-automation github-project-automation bot moved this from Entregue (Po + Dev + Infra) to Backlog in SOS-RS May 25, 2024
@HbLuca HbLuca moved this from Backlog to Em desenvolvimento in SOS-RS May 25, 2024
@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno sem problemas, pode mover.

@larissapissurno
Copy link
Contributor

larissapissurno commented May 25, 2024

oi @HbLuca, obrigada pelo rápido retorno 🚀

@larissapissurno Realizado, seguindo o passo a passo e vendo o design... Fica aberto alguns questionamentos.

1 - Ficará a cargo/boa fé do povo? Já que vi que o cenário 1 foi o único que atendeu no ambiente de Q.A, Prod e Dev, cenário 2 e 3 não foram contemplados.

não sei se entendi corretamente, mas se estiver se referindo ao fato de continuar deixando qualquer pessoa adicionar o item, eu concordo com vc em partes, por um lado eu penso que deixar qualquer pessoa cadastrar qualquer coisa é um pouco arriscado, mas por outro, se deixarmos essa responsabilidade para o lado do sistema, isso pode causar um gargalo no sentido de termos que gerenciar isso via banco de dados e talvez criar uma interface pro usuário solicitar uma adição de item talvez? No mais acho bem válido seu ponto, pra mim faz sentido trazermos isso pro time de produto pensar junto com a gente, o que acha?

2 - Não existe aviso sobre duplicação de item, apenas o que ocorre é caso adicione o item com modificação de prioridade e quantidade (Não sei se isso seria algo agravante, lembrando que isso é continuidade do 1), ele deixa o valor atual e nem a mensagem de erro sobre item não encontrado é apresentado.

ótimo ponto, temos uma explicação pra isso. Se observar o PR, vai ver que temos um possível PR duplicado, acontece que o PR duplicado implementa apenas a validação no cadastro, enquanto o meu PR implementa o autocomplete, no tópico que estou linkando abaixo concordamos em seguir com os dois PRs, porém o outro não foi mergeado ainda, acho que podemos linkar ele nessa issue tbm e colocar ela on hold até termos o outro PR enviado para QA, o que acha?

https://discord.com/channels/1237553809371299950/1242105427697729586

PR de validação no cadastro: #229

3 - Ao pesquisar, por exemplo bombona de água que está em Eletrodomésticos e Eletrônicos e adiciona-lo em outro local como Equipamentos de Emergência, ele está sendo aceito. Local realizado: Igreja Lugar de adoração.

como mencionado acima, o PR #229 deve corrigir este problema

@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno

1 - Sim, referente as pessoas mesmo. Faz sentido o parcial, podemos ver sim, mas acredito que seja a mesma tratativa/resposta referente a cadastro de locais, que seguirá aberto.
Referente aos cenários, são sobre o que está no figma... Que existem 3 cenários e apenas 1 foi contemplado.

2/3 - Ótimo, o de autocomplete está de acordo, ao digitar algumas letras ele já faz o serviço. Referente ao item, é um pouco mais delicado, já que ele pode ser algo de necessidade urgente e ai alguém colocar como apenas necessário ou até modificar quantidade, se tiver controle de log, BD "vai cantar"... O 229 é interessante pelo aviso, mas deve ver de bloquear e não deixar ir até o pop-up.

@TucanoWeb
Copy link
Contributor

@larissapissurno e @HbLuca, boa noite. Como estão?

Recebi a notificação de referência à PR. A que inclui a validação e a limitação na página de cadastro é a #296

Importante destacar que a ideia de agregar as soluções já havia sido proposta, brilhantemente, pela @larissapissurno.

@larissapissurno
Copy link
Contributor

larissapissurno commented May 25, 2024

Referente ao item, é um pouco mais delicado, já que ele pode ser algo de necessidade urgente e ai alguém colocar como apenas necessário ou até modificar quantidade, se tiver controle de log, BD "vai cantar"... O 229 é interessante pelo aviso, mas deve ver de bloquear e não deixar ir até o pop-up.

@HbLuca entendo, sera entao que poderiamos deixar mais claro que ele está editando um item existente? lembrando que hoje já é possivel alterar essas informações ali na lista de items para o abrigo

o que acha @TucanoWeb, teria alguma outra sugestão?

@HbLuca
Copy link

HbLuca commented May 25, 2024

Boa noite @TucanoWeb estou bem e tu?

Hmmm... Com a 296 (a mergear) e 275 (mergeado) já teriamos o autocomplete e também a "trava" referente a duplicação.

@larissapissurno no 296 passado pelo @TucanoWeb acredito que já ocorra isso de deixar claro sobre item existente (ao menos vendo os vídeos compreendi isso).

Parabéns aos 2.

@larissapissurno
Copy link
Contributor

mergeei o PR do @TucanoWeb, vou add no PR de release pra staging

@larissapissurno larissapissurno moved this from Em desenvolvimento to PR Aprovado e Mergeado in SOS-RS May 25, 2024
@larissapissurno larissapissurno moved this from PR Aprovado e Mergeado to Em revisão (dev) in SOS-RS May 25, 2024
@larissapissurno larissapissurno moved this from Em revisão (dev) to Disponível para QA in SOS-RS May 25, 2024
@larissapissurno larissapissurno closed this as completed by moving to Disponível para QA in SOS-RS May 25, 2024
@larissapissurno
Copy link
Contributor

temos esse bug que pode estar relacionado ao autocomplete: #298

@github-project-automation github-project-automation bot moved this from Disponível para QA to Backlog in SOS-RS May 25, 2024
@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno, sim... está mesmo!

@HbLuca
Copy link

HbLuca commented May 25, 2024

@larissapissurno só temos um porém...
#305
Nesta issue, é relatado que existe duplicidade de itens na parte de busca de itens.

Possívelmente isso que pode acarretar na parte de cadastro de itens de aparecer duplicado, conforme imagem abaixo:
image
Não me deixa cadastrar água, mas aparecem água, agua, água sanitária 2x...

@TucanoWeb
Copy link
Contributor

@HbLuca, bom dia. Essa redundância ocorre devido aos registros retornados do banco de dados.

Essa normalização vai ocorrer pelo DB, backend ou esse controle vai acontecer somente no front? Se não for via front, acredito que as issues relacionadas podem ser fechadas e uma nova aberta no back.

Via DB, na minha opinião, é:

  • Localizar os registros duplicados, considerando os items registrados, não as necessidades registradas. Acredito que a normalização do retorno da consulta utilizando lower e translate resolva a questão;
  • Alterar, em massa, o ID do supply que está sendo referenciado na tabela de supplies (itens necessários), considerando o registro que será persistido ;
  • Deletar os registros dos supplies registrados em duplicidade.

@larissapissurno larissapissurno moved this from Backlog to PR Aprovado e Mergeado in SOS-RS May 25, 2024
@larissapissurno larissapissurno moved this from PR Aprovado e Mergeado to Disponível para QA in SOS-RS May 25, 2024
@larissapissurno larissapissurno closed this as completed by moving to Disponível para QA in SOS-RS May 25, 2024
@HbLuca
Copy link

HbLuca commented May 26, 2024

@TucanoWeb não poderia modificar esta issue para FULL?
E com isso seguir por ela com a parte back e no "development" adicionar a pr de back?
Caso sim, realizaria o teste por aqui mesmo e ai finalizaria com as 3 pr`s... 2 de front e 1 back.

@TucanoWeb
Copy link
Contributor

@TucanoWeb não poderia modificar esta issue para FULL? E com isso seguir por ela com a parte back e no "development" adicionar a pr de back? Caso sim, realizaria o teste por aqui mesmo e ai finalizaria com as 3 pr`s... 2 de front e 1 back.

Boa noite @HbLuca.

Acredito que somente no back já seja o suficiente. Se vocês concordarem, pode abrir a Issue no back e me dar um toque que eu faço esse ajuste.

@larissapissurno
Copy link
Contributor

Eu concordo que podemos tratar essa demanda de back em uma nova issue, assim podemos seguir em frente com essa task e podemos dar andamento com a outra independentemente.

@larissapissurno larissapissurno moved this from Disponível para QA to Em QA in SOS-RS May 29, 2024
@larissapissurno
Copy link
Contributor

@HbLuca os ajustes pendentes já estão todos em staging, poderia verificar novamente? 🙏

@HbLuca
Copy link

HbLuca commented May 29, 2024

@larissapissurno vou verificar e ja criei um em back, @TucanoWeb caso queira ver...

@HbLuca
Copy link

HbLuca commented May 29, 2024

@larissapissurno feito.
Realizado teste do autocomplete, realizado teste de identificacao de duplicidade e criacao de novo item, mostrando que existem itens com proximidade de nome Suco de laranja testado na Casa Da Criança Nossa Senhora Auxiliadora.
Vide loom: https://www.loom.com/share/1be198fd0cb74d9a99e49f1754c8987f?sid=9c987bad-0d0e-4db9-baef-0b0308fb9149

@HbLuca HbLuca moved this from Em QA to Disponível Infra in SOS-RS May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request product-definition
Projects
Status: Disponível Infra
Development

Successfully merging a pull request may close this issue.

5 participants