Skip to content

Frontend React + TypeScript para sistema inteligente de Q&A com respostas automáticas por IA, transcrição de áudio em tempo real e busca semântica para automação de transmissões ao vivo.

License

Notifications You must be signed in to change notification settings

mathrb22/let-me-ask-web

Repository files navigation

Let me ask - Logo


📃 Sobre

Let me ask - Home

Este repositório contém o código-fonte do frontend do projeto Let me ask, desenvolvido durante a NLW Agents (Next Level Week) da Rocketseat.

Este projeto integra a API do Google Gemini, busca semântica e processamento de dados vetoriais para fornecer respostas automáticas às perguntas dos participantes durante transmissões ao vivo. O sistema funciona da seguinte forma: com base na transcrição em tempo real da apresentação, a IA processa e armazena vetores semânticos dos assuntos abordados. Quando um usuário faz uma pergunta na sala, o sistema utiliza busca semântica para verificar se essa questão já foi respondida pelo apresentador na transcrição e, caso positivo, fornece automaticamente a resposta contextualizada.

Let me ask - Room page

🎯 Objetivo

O objetivo principal do Let me ask é de criar uma solução inteligente para transmissões ao vivo, onde perguntas dos participantes serão respondidas automaticamente através de inteligência artificial. O sistema utiliza:

  • Transcrição em tempo real de transmissões ao vivo
  • Processamento de dados vetoriais para armazenar contexto semântico
  • Busca semântica para identificar se perguntas já foram respondidas

A aplicação foi desenvolvida com o intuito de aprimorar os conhecimentos em React, Vite, TypeScript, Tailwind CSS, React Query e React Router, além de integrar tecnologias modernas de IA e processamento de linguagem natural.

🚀 Tecnologias e ferramentas

React Vite TypeScript Tailwind CSS React Query React Router Lucide React shadcn/ui
React Vite TypeScript Tailwind CSS React Query React Router Lucide React shadcn/ui

✨ Features

demo-letmeask-web.mp4

🏠 Sistema de Salas

Criação e listagem de salas: interface para criação, navegação e listagem de salas disponíveis via API.

Sistema de Perguntas

Formulário intuitivo: interface para envio de perguntas com validação avançada e contador de caracteres.
Perguntas e respostas: exibição organizada de perguntas com respostas geradas por IA em tempo real.
Feedback visual: indicadores de status durante a geração de respostas pela IA.

🎙️ Gravação de Áudio Inteligente

Modal de gravação: interface simplificada em modal para gravação de áudio, substituindo a página dedicada.
Controles avançados: botões para iniciar, pausar, retomar e finalizar gravação com feedback visual.
Gravação em segundo plano: possibilidade de gravar áudio enquanto visualiza as perguntas e respostas.
Timer em tempo real: cronômetro exibindo o tempo de gravação no formato HH:MM:SS.
Upload automático: captura e upload de áudio em tempo real com divisão em chunks de 10 segundos.

Record audio

Recording audio

🤖 Integração com IA

Respostas automáticas: respostas contextualmente relevantes via Google Gemini API.
Transcrição em tempo real: processamento de áudio para texto via backend.
Processamento vetorial: armazenamento de vetores semânticos (embeddings) para busca eficiente.
Busca semântica: identificação inteligente de respostas já fornecidas anteriormente.

🎨 Interface e Experiência do Usuário

A aplicação conta com uma interface moderna e responsiva, incluindo:

Design responsivo: interface adaptável para diferentes tamanhos de tela.
Estados de carregamento: exibição de skeleton loading durante o carregamento das salas para melhor experiência do usuário.
Estados vazios: componentes de No-content quando não há salas ou perguntas cadastradas
Gravação de áudio simplificada através de modal integrado à página da sala com exibição de tempo de gravação e botões de controle de pausa, retomada e finalização
Tema claro/escuro com alternância suave e persistência de preferência
Navegação otimizada com header fixo e botão de rolagem automática para o topo da página

📱 Melhorias Mobile e Responsividade

Diálogos adaptáveis: modais que se transformam em bottom sheets no mobile para melhor usabilidade
FABs (Floating Action Buttons): botões flutuantes para ações principais no mobile (criação de salas e perguntas)
Barra de status de gravação: indicador fixo no mobile mostrando status da gravação em tempo real
Busca de salas: campo de pesquisa com debounce para filtrar salas

demo-letmeask-mobile.mp4

🔧 Instalação e execução

Para baixar o código-fonte do projeto em sua máquina, primeiramente terá que ter instalado o Git. Com o Git instalado, em seu terminal execute o seguinte comando:

git clone https://github.com/mathrb22/let-me-ask-web.git

Para instalar as dependências e executar o projeto terá que ter instalado em sua máquina o node.js, que vem acompanhado do npm. Instale as dependências usando o comando abaixo:

npm install

Executar o projeto:

npm run dev

A aplicação estará disponível em http://localhost:5173. Você poderá acessá-la a partir do seu navegador.

🔗 Integração com o Backend

Esta aplicação frontend requer uma API backend para funcionar completamente. O servidor está configurado para rodar em http://localhost:3333 e é essencial para o funcionamento das principais funcionalidades.

📦 Repositório do backend

O código-fonte do backend está disponível em um repositório separado:

🔗 Let me ask - Server (API)

⚙️ Funcionalidades do backend

O backend é responsável por:

  • 🏠 Gerenciamento de salas: criação, listagem e gerenciamento de salas de Q&A
  • Sistema de perguntas: armazenamento e processamento de perguntas dos usuários
  • 🎙️ Processamento de áudio: captura, processamento e transcrição de áudio em tempo real
  • 🤖 Integração com IA: conexão com Google Gemini API para geração de respostas
  • 🔍 Busca semântica: algoritmo de busca vetorial para identificar contexto
  • 📊 Processamento vetorial: geração e armazenamento de vetores semânticos (embeddings)

🚀 Como executar o backend

Para ter acesso completo às funcionalidades do sistema, é necessário configurar e executar o servidor backend.

📋 Siga o guia completo de instalação e configuração:

🔗 Instalação e execução da API

💡 Como contribuir

  • Faça um fork desse repositório;
  • Crie um branch para a sua feature: git checkout -b minha-feature;
  • Faça um commit com suas alterações: git commit -m 'feat: Minha nova feature';
  • Faça um push para o seu branch: git push origin minha-feature;
  • Faça um pull request com sua feature;

Pull requests são sempre bem-vindos. Em caso de dúvidas ou sugestões, crie uma issue ou entre em contato comigo.

📝 Licença

GitHub License

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Desenvolvido com 💚 por mathrb22

Gmail

About

Frontend React + TypeScript para sistema inteligente de Q&A com respostas automáticas por IA, transcrição de áudio em tempo real e busca semântica para automação de transmissões ao vivo.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •