Skip to content

refactor(db/view): "tipo" column padronization for data integrity #7

Description

@sousa7tz

Refactor: Padronização da coluna 'Tipo' para garantir integridade dos dados

Problema

Atualmente, o campo Tipo no formulário de "Novo Item" aceita entrada de texto livre (String). Isso gera uma inconsistência crítica no banco de dados, permitindo que usuários cadastrem o mesmo tipo de diversas formas (ex: "Uno", "arduino uno", "UNO", "Unno"). Essa falta de padrão impossibilita a criação de filtros precisos, relatórios de estoque confiáveis e quebra a escalabilidade do sistema.

Sugestão

Substituir o campo de texto livre por uma entrada controlada, utilizando um ENUM no backend e um componente de Autocomplete/Select no frontend.

  • Integridade: Garante que apenas valores pré-definidos entrem no banco.
  • UX: Facilita a escolha do usuário com sugestões automáticas enquanto ele digita.
  • Performance: Melhora a eficiência de buscas e indexação no banco de dados.

Implementação Proposta

  • Backend: Criação de um enum TipoItem e anotação @Enumerated(EnumType.STRING) na entidade Item.
  • Database: Nova migration do Flyway para ajustar a coluna na tabela item.
  • Frontend: Integração de um componente de busca para seleção dos tipos.

Nota: Estou aberto a novas ideias sobre como implementar essa trava (seja via ENUM ou outros), mas o foco principal é a correção para a padronização dos dados.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions