-
Notifications
You must be signed in to change notification settings - Fork 12
Front-end Chatbot #1450
Copy link
Copy link
Open
Labels
front-endTopics related to how things look like for users & general usabilityTopics related to how things look like for users & general usability
Description
Concluídas
Integração com Backend e Lógica Principal
- Criar hook
useChatbotpara gerenciar o estado do chat (mensagens, loading, erros). - Implementar sistema de autenticação (
useChatbotAuth) para proteger as rotas da API. - Desenvolver a lógica para criação e gerenciamento de conversas (threads).
- Implementar o envio de mensagens para a API, tratando a comunicação com o backend.
- Abortar requisições em andamento (
AbortController) caso o usuário envie uma nova mensagem.
Componentes de UI
- Desenvolver o componente
Sidebarpara navegação entre as conversas e início de um novo chat. - Criar o componente
ThreadListpara listar o histórico de conversas do usuário. - Implementar o
ChatWindowcomo container principal para a exibição das mensagens. - Criar o componente
Messagepara renderizar as mensagens do usuário e do assistente. - Desenvolver o campo de
Search(input) para o usuário digitar e enviar perguntas.
Funcionalidades e Experiência do Usuário
- Implementar o recebimento de respostas em tempo real (streaming) via Fetch API.
- Adicionar um efeito de "digitação" para suavizar a exibição da resposta do assistente.
- Processar e renderizar respostas formatadas em Markdown, incluindo blocos de código e links.
- Adicionar funcionalidade de "Copiar" para os blocos de código.
- Implementar sistema de feedback (like/dislike) nas mensagens do assistente.
- Tratar e exibir os diferentes estados da aplicação (carregando, erro, sucesso).
Pendentes
Refinamentos de UI/UX
- Responsividade: Garantir que a interface do chatbot seja totalmente funcional e visualmente agradável em dispositivos móveis.
- Estados Vazios: Desenvolver e implementar telas de estado vazio para a lista de conversas (
ThreadList) e para a janela de chat (ChatWindow) antes do início de uma conversa. - Melhorar Indicadores de Carga: Substituir spinners simples por
skeleton loaderspara uma experiência de carregamento mais fluida. - Tratamento de Erros: Aprimorar as mensagens de erro exibidas para o usuário, tornando-as mais claras e, se possível, oferecendo ações corretivas.
Funcionalidades
- Modificar o token no backend para levar o
user_idno payload - Gerenciamento de Threads: Exclua conversas antigas.
- Persistência de Estado: Salvar o estado da conversa atual no
localStoragepara evitar a perda de mensagens em caso de um recarregamento da página. - Permitir que o usuário selecione uma conversa antiga para continuar a interação.
Qualidade e Testes
- Testes Unitários: Escrever testes para os hooks (
useChatbot,useThreads,useChatbotAuth) para garantir a robustez da lógica de negócio. - Testes de Componentes: Criar testes para os componentes de UI para validar seu comportamento de forma isolada.
- Testes End-to-End (E2E): Desenvolver testes E2E que simulem o fluxo completo do usuário, desde o início de uma conversa até o recebimento de uma resposta e o envio de feedback.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
front-endTopics related to how things look like for users & general usabilityTopics related to how things look like for users & general usability
Type
Projects
Status
Em andamento