tutorial· 9 min read

Como Construir um Dashboard SaaS com o VULK

Tutorial passo a passo: gera um dashboard SaaS completo com navegação lateral, gráficos, tabelas de dados e autenticação usando o VULK — com os prompts exatos, pela ordem de construção.

João CastroJoão Castro
Como Construir um Dashboard SaaS com o VULK

Atualizado a 17 de julho de 2026 — refrescado com dados verificados da plataforma; os prompts abaixo são as versões testadas.

Como se constrói um dashboard SaaS com o VULK?

A resposta completa: começa com um prompt detalhado que especifique o layout (largura da sidebar, header, área de conteúdo), os itens de navegação, os cartões de estatísticas com números reais, os tipos de gráficos e as colunas da tabela — o VULK gera um projeto Vite + React + TypeScript + Tailwind completo com o Recharts já ligado, a correr numa pré-visualização ao vivo em menos de dois minutos. Depois constróis o resto em prompts de seguimento ordenados: autenticação, interatividade dos gráficos, ordenação/filtros/exportação CSV da tabela, páginas adicionais (Projetos, Definições) e polimento (sidebar responsiva, skeletons, empty states, dark mode). Deploy para o Cloudflare Pages com um clique. Este artigo dá-te todos os prompts, prontos a copiar, pela ordem que funciona.

Se isto parece o caso de uso canónico dos construtores de IA, é porque é: dashboards e painéis de administração são a categoria #1 de apps geradas por IA, com 12,5% de todos os projetos — quase 8× mais comuns do que a estereotipada app de tarefas (1,6%, posição 13) — segundo os dados da plataforma VULK, julho de 2026, N = 10.994 projetos ativos classificados. Software com forma de ferramenta interna é o que as pessoas realmente constroem quando gerar uma app custa um parágrafo de texto.

O que vamos construir?

Um dashboard de analytics SaaS com sidebar colapsável, vários tipos de gráficos, uma tabela de dados pesquisável, autenticação de utilizadores e funcionalidade de exportação. É o tipo de ferramenta interna que normalmente leva duas a três semanas a um frontend developer construir do zero. Com o VULK, a primeira versão funcional leva minutos.

Este tutorial percorre os prompts exatos e o workflow de iteração para ir do nada a um dashboard polido e pronto a fazer deploy.

Passo 1: O que deve conter o prompt de geração inicial?

A qualidade da geração inicial depende inteiramente do contexto que forneces. Eis um prompt que produz consistentemente uma base forte:

Constrói um dashboard de analytics SaaS para uma ferramenta de
gestão de projetos.

Layout: sidebar fixa à esquerda (240px, colapsável para só ícones
em mobile), header no topo com avatar do utilizador e sino de
notificações, área de conteúdo principal com padding.

Navegação da sidebar:
- Dashboard (ícone de casa)
- Projetos (ícone de pasta)
- Tarefas (ícone de checkbox)
- Equipa (ícone de utilizadores)
- Relatórios (ícone de gráfico)
- Definições (ícone de engrenagem)

Conteúdo da página Dashboard:
1. Linha de topo: 4 cartões de estatísticas com Total de Projetos
   (127), Tarefas Ativas (843), Membros da Equipa (24), Taxa de
   Conclusão (87%). Cada cartão tem ícone, valor, etiqueta e
   variação percentual face ao mês anterior (verde para positiva,
   vermelho para negativa)

2. Linha do meio: dois gráficos lado a lado
   - Gráfico de linhas: "Tendência de Conclusão de Tarefas" com os
     últimos 12 meses
   - Gráfico de barras: "Projetos por Departamento" com 6
     departamentos

3. Linha de baixo: tabela de dados "Tarefas Recentes" com colunas:
   Nome da Tarefa, Projeto, Responsável (com avatar), Prioridade
   (badges Baixa/Média/Alta), Estado (badges A Fazer/Em
   Progresso/Feito), Data-Limite. Inclui campo de pesquisa e
   paginação (10 linhas por página).

Esquema de cores: fundo branco, sidebar cinzento-ardósia, cor de
destaque azul (#3B82F6) para estados ativos e botões primários.
Usa Tailwind CSS e Recharts para os gráficos. TypeScript.

Este prompt especifica dimensões do layout, estrutura de navegação, conteúdo dos dados, tipos de gráficos, colunas da tabela e design visual. A IA não precisa de adivinhar nenhuma destas decisões. (Para calibração: o prompt mediano da plataforma tem ~60 palavras e chega bem para apps simples; um dashboard com esta especificidade merece o tratamento mais longo — dados da plataforma VULK, julho de 2026.)

Passo 2: O que deves verificar no output inicial?

Após a geração, a pré-visualização ao vivo do VULK mostra o dashboard completo. Eis o que verificar:

Estrutura do layout. A sidebar deve estar em posição fixa, o header sticky, e a área de conteúdo deve fazer scroll de forma independente. Confirma que a sidebar colapsa corretamente em viewports mais pequenos.

Rendering dos gráficos. Os componentes Recharts devem renderizar com eixos, etiquetas e containers responsivos corretos. Os dados devem corresponder ao que especificaste — 12 meses no gráfico de linhas, 6 departamentos no de barras.

Funcionalidade da tabela. A tabela de dados deve renderizar todas as colunas, mostrar os campos de prioridade e estado com estilo de badge, e incluir o campo de pesquisa e os controlos de paginação.

Organização dos componentes. Verifica que o código gerado usa ficheiros de componentes separados — Sidebar.tsx, StatCard.tsx, TaskTable.tsx, CompletionChart.tsx — em vez de meter tudo num único ficheiro de página. (Um projeto gerado típico tem ~20 ficheiros focados, não um monólito — dados da plataforma VULK, julho de 2026.)

Passo 3: Como se adiciona autenticação?

O prompt inicial focou-se na UI do dashboard. Agora adiciona autenticação:

Adiciona autenticação a este dashboard. Inclui:
- Página de login com campos de email e password, checkbox
  "Lembrar-me" e link "Esqueci-me da password"
- Página de registo com nome, email, password, confirmar password
- Rotas protegidas: redireciona para /login se não autenticado
- Contexto de utilizador que guarda nome, email e URL do avatar
  do utilizador com sessão iniciada
- Botão de logout no rodapé da sidebar
- Mostra o nome e avatar do utilizador no header do topo

Usa um contexto de auth simples com localStorage para a sessão.
O formulário de login deve validar o formato do email e exigir
password com mínimo de 8 caracteres.

Isto gera um fluxo de auth completo com validação de formulários, proteção de rotas e gestão do estado do utilizador. O sistema de edições cirúrgicas adiciona estes ficheiros sem regenerar os componentes existentes do dashboard. (Para auth multiutilizador real com base de dados, pede o Backend Mode — o VULK gera uma API assente em PostgreSQL com hashing de passwords bcrypt e sessões JWT; 62% das apps geradas incluem um schema SQL.)

Passo 4: Como se melhoram os gráficos?

Os gráficos iniciais são funcionais mas básicos. Melhora-os:

Melhora os gráficos do dashboard:

1. Torna o gráfico de linhas interativo: mostra tooltip com os
   valores exatos ao passar o rato, adiciona um preenchimento em
   gradiente abaixo da linha, e inclui um toggle para alternar
   entre os datasets "Tarefas Concluídas" e "Tarefas Criadas"

2. Adiciona um gráfico donut ao lado do de barras com a
   "Distribuição de Estados das Tarefas" com segmentos para
   A Fazer (azul), Em Progresso (amarelo), Feito (verde) e
   Atrasado (vermelho). Mostra a contagem total no centro do donut.

3. Adiciona um seletor de intervalo de datas acima da secção dos
   gráficos. Opções: Últimos 7 dias, Últimos 30 dias, Últimos 3
   meses, Últimos 12 meses, Intervalo personalizado. O intervalo
   selecionado deve filtrar todos os dados dos gráficos.

Cada prompt de seguimento constrói sobre o código existente. A IA entende a estrutura de componentes da geração inicial e modifica os ficheiros certos.

Passo 5: Como se desenvolve a tabela de dados?

As tabelas de dados são onde os dashboards SaaS se tornam genuinamente úteis. Expande a tabela:

Melhora a tabela de Tarefas Recentes:

1. Adiciona ordenação por coluna: clicar em qualquer cabeçalho
   ordena ascendente/descendente. Mostra um indicador de seta.

2. Adiciona filtros: dropdowns de filtro para Prioridade
   (Todas/Baixa/Média/Alta) e Estado (Todos/A Fazer/Em
   Progresso/Feito). Os filtros funcionam em conjunto com a
   pesquisa.

3. Adiciona seleção de linhas: checkbox em cada linha, checkbox
   "Selecionar Tudo" no cabeçalho. Mostra uma barra de ações
   flutuante quando há linhas selecionadas com as opções:
   "Marcar como Feito", "Apagar", "Exportar Selecionadas"

4. Adiciona um botão "Exportar CSV" que descarrega a vista
   filtrada atual como ficheiro CSV.

5. Aumenta para 25 linhas de dados fictícios com nomes de tarefas
   realistas e estados variados.

É um prompt denso, mas cada requisito é específico. A IA gera a lógica de ordenação, a gestão do estado dos filtros, a geração de CSV e o tratamento da seleção — tudo integrado no componente de tabela existente.

Passo 6: Como se adiciona a página de Projetos?

Os dashboards precisam de mais do que uma página. Expande a navegação da sidebar:

Constrói a página de Projetos (acessível pela sidebar).

Conteúdo:
- Header com o título "Projetos" e botão "Novo Projeto"
- Grelha de cartões de projeto (3 colunas em desktop, 1 em mobile)
- Cada cartão mostra: nome do projeto, descrição (truncada a 2
  linhas), barra de progresso com percentagem, avatares dos
  membros da equipa (empilhados, máx. 3 com overflow +N),
  data-limite e badge de estado (Ativo/Em Pausa/Concluído)
- Barra de pesquisa e filtro por estado no topo
- O botão "Novo Projeto" abre um modal com: nome do projeto,
  textarea de descrição, data de início, data-limite, seleção de
  membros da equipa (dropdown multi-seleção) e seleção de
  prioridade

Inclui 9 projetos fictícios com dados variados.

Passo 7: Como se adiciona a página de Definições?

Constrói a página de Definições com separadores:

1. Separador Perfil: formulário com área de upload de avatar,
   nome, email, cargo e textarea de bio. Botão de guardar em baixo.

2. Separador Notificações: toggles para notificações por email
   (tarefa atribuída, tarefa concluída, atualizações de projetos,
   resumo semanal). Cada toggle tem etiqueta e descrição.

3. Separador Aparência: seletor de tema (Claro/Escuro/Sistema)
   com miniaturas de pré-visualização, e botões de rádio para a
   posição da sidebar (Esquerda/Direita).

4. Separador Segurança: formulário de mudança de password
   (password atual, nova password, confirmar nova password) e
   toggle de autenticação de dois fatores com instruções de
   configuração.

Que prompts de iteração acrescentam mais polimento?

Depois de construir as páginas principais, estes prompts de seguimento melhoram o polimento e a usabilidade:

Comportamento responsivo:

Faz a sidebar colapsar para um menu hambúrguer em ecrãs abaixo
de 768px. A sidebar deve deslizar como overlay com um backdrop.
Adiciona animações de transição suaves.

Estados de carregamento:

Adiciona estados de carregamento skeleton para os cartões de
estatísticas, os gráficos e a tabela de dados. Mostra os
skeletons durante 1,5 segundos no primeiro carregamento do
dashboard, simulando um fetch de API.

Empty states:

Adiciona ilustrações de empty state para quando não há tarefas
(mostra um ícone de prancheta com a mensagem "Ainda sem tarefas")
e não há projetos (mostra um ícone de pasta com a mensagem "Cria
o teu primeiro projeto" e um botão CTA).

Dark mode:

Adiciona suporte de dark mode. O toggle de tema nas Definições
deve alternar entre os temas claro e escuro. Dark mode: fundo
#1a1a2e, sidebar #16213e, texto #e2e8f0. Guarda a preferência em
localStorage.

Os projetos que acabam genuinamente polidos são os que continuam a iterar — os 10% de projetos no topo da plataforma passam das 25 mensagens, contra uma mediana de 4 (dados da plataforma VULK, julho de 2026).

O que deves rever antes de fazer deploy?

Antes de fazer deploy do teu dashboard gerado, verifica estas áreas:

Gestão de estado. Para um protótipo, React context e useState chegam bem. Se o teu dashboard crescer para 10+ páginas com estado partilhado, considera pedir ao VULK para refatorar para Zustand ou uma biblioteca de estado semelhante.

Pontos de integração com APIs. O dashboard gerado usa dados fictícios. Identifica onde as chamadas fetch vão substituir os arrays estáticos — o código gerado usa tipicamente estruturas de dados limpas que mapeiam diretamente para formatos de resposta de API. Ou salta isto por completo pedindo o Backend Mode, que provisiona uma API real assente em PostgreSQL.

Error boundaries. Adiciona tratamento de erros à volta dos componentes de gráficos e dos fetches de dados. Um crash da biblioteca de gráficos não deve deitar abaixo a página inteira.

Acessibilidade. Verifica a navegação por teclado na sidebar, a gestão de foco nos modais e as aria labels corretas nos elementos interativos. O código gerado inclui acessibilidade básica, mas interações complexas como a tabela de dados podem precisar de melhorias ARIA.

Como se faz deploy do dashboard?

Quando estiveres satisfeito com o resultado, faz deploy com um clique para o Cloudflare Pages. O teu dashboard recebe um URL ao vivo imediatamente. Partilha-o com stakeholders para feedback e itera com base no input deles. O ciclo inteiro — do primeiro prompt ao dashboard em produção — pode acontecer numa única sessão de trabalho.

E faz mesmo o deploy: em toda a plataforma, só 3,7% das apps geradas chegam alguma vez a um URL público (dados da plataforma VULK, julho de 2026). O último clique é o mais raro.


FAQ

Quanto tempo demora construir um dashboard SaaS com o VULK?

A primeira versão funcional renderiza em menos de dois minutos; o fluxo completo deste tutorial — auth, gráficos melhorados, funcionalidades de tabela, páginas de Projetos e Definições, polimento — cabe numa única sessão de trabalho com talvez uma dúzia de prompts de seguimento. Programar à mão o mesmo dashboard leva tipicamente duas a três semanas a um frontend developer.

Que biblioteca de gráficos usa o VULK nos dashboards?

Recharts por defeito — mencionar "gráfico" ou "dashboard" no teu prompt inclui-a automaticamente. Se preferes outra biblioteca (por exemplo, Chart.js ou visx), nomeia-a no prompt e o gerador usa-a.

O dashboard pode ter dados reais em vez de fictícios?

Sim. Pede o Backend Mode ("guarda as tarefas e os projetos numa base de dados com contas de utilizador") e o VULK gera um schema PostgreSQL, endpoints REST com auth JWT, e liga o frontend a eles. 27% de todas as apps geradas correm um backend provisionado (dados da plataforma VULK, julho de 2026).

Um dashboard destes é mesmo a app gerada por IA mais comum?

Sim — dashboards e painéis de administração são a categoria #1 com 12,5% de todos os projetos, à frente dos jogos (5,4%), das landing pages (4,8%) e do e-commerce (4,5%). As apps de tarefas são só 1,6% (dados da plataforma VULK, julho de 2026).

Posso exportar o código do dashboard?

Sim. A exportação ZIP do código completo começa no Builder ($19.99/mês); a sincronização GitHub começa no Pro ($39.99/mês). O output é um projeto Vite + React + TypeScript + Tailwind standard sem lock-in.

Quanto custa o VULK para este tipo de projeto?

O VULK é paid-only (sem free tier): o Builder a $19.99/mês cobre a geração, o deploy de backend + PostgreSQL e a exportação ZIP; o Pro a $39.99/mês acrescenta sincronização GitHub, domínios personalizados e BYOM. Todos os planos começam com um intro de 3 dias de acesso completo desde $3.99, creditado no teu primeiro mês se continuares.

Publicado por João Castro · 9 min read

Continuar a ler

Todos os artigos
Suporte VULK

Online

Olá! Como posso te ajudar hoje?

Tópicos populares

Suporte de IA • support.vulk.dev

Como Construir um Dashboard SaaS com o VULK — Blog | VULK