Skip to content

[FEATURE] Permitir busca e cadastro de novas Skills #89

Description

@karinaperes

📝 Descrição

Substituir o componente atual de seleção de skills por um componente de busca (Autocomplete), permitindo localizar rapidamente skills já cadastradas e adicionar uma nova caso ela ainda não exista.

O objetivo é tornar o cadastro de habilidades mais flexível, evitando que usuários fiquem limitados a uma lista fixa.

🎯 Problema que Resolve

Atualmente o usuário só consegue selecionar habilidades previamente cadastradas.

Quando uma tecnologia ainda não existe na base, ele não consegue adicioná-la ao perfil, tornando o cadastro incompleto.

Além disso, conforme a quantidade de skills aumenta, localizar uma habilidade em uma lista simples torna-se cada vez mais difícil.

👤 User Story

Como usuário,

Quero pesquisar rapidamente uma skill existente e cadastrar uma nova quando ela não existir,

Para manter meu perfil atualizado sem depender que um administrador cadastre previamente todas as tecnologias.

📋 Requisitos

Interface
Substituir o Select atual por um componente de busca (Autocomplete).
Enquanto o usuário digita, filtrar as skills existentes.
A busca deve ignorar letras maiúsculas e minúsculas.
Exibir uma lista com as skills encontradas.
Seleção
Permitir selecionar uma das skills existentes.
Após selecionar, adicionar a skill ao perfil normalmente.
Cadastro de nova Skill

Caso nenhuma skill seja encontrada:

Exibir a mensagem:

Nenhuma skill encontrada.

Exibir também um botão:

➕ Adicionar "NomeDigitado"

Ao clicar:

criar a nova skill;
salvar no Firestore;
adicionar automaticamente ao perfil do usuário;
atualizar a lista de skills disponíveis.
Validações

Não permitir:

skill vazia;
apenas espaços;
duplicadas;
diferenças apenas de maiúsculas/minúsculas.

Exemplos:

React
react
REACT

devem ser considerados a mesma skill.

Normalizar antes de salvar.

Banco de Dados

Caso a skill ainda não exista:

criar documento na coleção de Skills;
utilizar o nome normalizado;
registrar data de criação;
registrar quantidade inicial de uso (caso exista esse campo).

🕵️ Critérios de Aceite

  • O usuário consegue pesquisar skills existentes.
  • A busca ocorre em tempo real.
  • É possível selecionar uma skill existente.
  • Quando a skill não existir, é possível cadastrá-la.
  • A nova skill é salva no Firestore.
  • A nova skill já aparece selecionada no perfil.
  • Não é possível criar skills duplicadas.
  • A busca não diferencia letras maiúsculas e minúsculas.
  • O componente continua funcionando normalmente após adicionar uma nova skill.

🔗 Dependências

Sistema de Perfil.
Coleção de Skills.
Firestore configurado.
Componente de seleção de Skills existente.

📌 Definition of Done (DoD)

  • Funcionalidade implementada
  • Regras de negócio respeitadas
  • Testes passando
  • Documentação atualizada (se necessário)
  • PR revisado e aprovado

Metadata

Metadata

Assignees

Fields

No fields configured for Feature.

Projects

Status
In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions