Este projeto tem como objetivo principal desenvolver um funil de quiz interativo de alta performance, inspirado na abordagem e no design da plataforma inlead.digital. O foco não é apenas criar um quiz, mas sim uma ferramenta estratégica de marketing para qualificar leads, guiando o usuário por uma jornada envolvente que culmina na captura de seus dados de contato.
Nossa meta é transformar o tráfego em leads qualificados, oferecendo uma experiência de usuário fluida, visualmente rica e otimizada para a conversão.
Nossa referência de design e experiência do usuário é o inlead.digital. Isso se traduz nos seguintes princípios de layout:
- Design Limpo e Moderno: Uma interface sem distrações, com foco total na pergunta e nas opções de resposta.
- Layout em Cartão Centrado: O quiz será apresentado em um componente de cartão no centro da tela, criando um ponto focal claro.
- Visualmente Rico: Cada pergunta será acompanhada por uma imagem de alta qualidade que adiciona contexto e apelo visual.
- Experiência Fluida: Transições suaves entre as perguntas e uma barra de progresso clara para manter o usuário engajado e ciente de sua posição no funil.
O projeto foi executado em fases, resultando nas seguintes funcionalidades:
-
Fase 1: Documentação e Visão (Concluída)
- Criação do
README.mdpara servir como a documentação central do projeto.
- Criação do
-
Fase 2: Estrutura de Dados e Interface (Concluída)
- Estrutura de Dados: Definição da estrutura de dados em
src/lib/placeholder-data.mjspara suportar um quiz visual, com campos paraid,text,image_urleanswers. - Desenvolvimento da Interface: Construção da interface do quiz (
page.tsx) com base nos princípios de design doinlead.digital. - Ajustes de Layout e Imagens: O conteúdo visual do quiz foi refinado para alinhar com o documento de referência
Quiz - Modelo, garantindo que as imagens e textos corretos fossem exibidos em cada etapa.
- Estrutura de Dados: Definição da estrutura de dados em
-
Fase 3: Captura de Leads e Armazenamento (Concluída)
- Formulário de Captura: Implementação de um formulário ao final do quiz para capturar o nome e o telefone do usuário.
- API de Leads: Criação de um endpoint de API (
/api/leads/route.ts) para receber os dados do formulário. - Banco de Dados Principal: Integração com um banco de dados Neon (Postgres) para armazenamento primário dos leads. Os dados são salvos na tabela
leadscom as colunas:id,name,phone,answers, ecreatedAt.
-
Fase 4: Sistema de Backup de Leads (Concluída)
- Integração com Google Sheets: Para garantir a redundância e a segurança dos dados, foi implementado um sistema de backup automático.
- Funcionamento: Após um lead ser salvo com sucesso no banco de dados Neon, a aplicação envia uma cópia dos mesmos dados para uma planilha pré-configurada no Google Sheets. O caminho da implementação está em
src/app/api/leads/route.ts. - Estrutura: A planilha é automaticamente organizada com os cabeçalhos
id,name,phone,answers,createdAtpara manter a consistência com o banco de dados.
- Next.js: Framework React para renderização no lado do servidor.
- TypeScript: Para um código mais robusto e seguro.
- Tailwind CSS: Para estilização rápida e customizável.
- Neon / Vercel Postgres: Para o banco de dados principal.
- Google Sheets API: Para o sistema de backup de leads.
-
Clone o repositório.
-
Instale as dependências:
npm install -
Configure as variáveis de ambiente: Crie um arquivo
.env.localna raiz do projeto e adicione as seguintes variáveis:# URL de conexão com o banco de dados Neon/Postgres DATABASE_URL="sua_url_do_banco_de_dados" # Credenciais para o Backup no Google Sheets GOOGLE_SHEET_ID="id_da_sua_planilha" GOOGLE_CLIENT_EMAIL="email_da_sua_conta_de_serviço_google" GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nsua_chave_privada\n-----END PRIVATE KEY-----\n" -
Popule o banco de dados (se necessário):
npm run seed(Este comando pode variar dependendo da configuração do projeto). -
Inicie o servidor:
npm run dev