Lovable

Avançado

Referência técnica — tratamento de dados, padrões de qualidade e dicionários de dados de todos os relatórios.

Esta seção reúne referência técnica e dicionários de dados. Você só precisa abrir aqui se for ajustar o parser para um caso novo, conferir os padrões visuais/técnicos ou saber o significado de uma coluna específica. Para o uso do dia a dia, as seções anteriores são suficientes.

10.1 Tratamento e padronização dos dados

Conversões de dados

TipoEntradaSaídaFunção
Data13/03/2026DateparseEkyteDate
Data-hora08/05/2026 08:52DateparseEkyteDateTime
MonetárioR$ 11,73 ou R$ 0.00numberparseEkyteMoney
Número1.234,56number (1234.56)parseEkyteNumber
Percentual3%, +1.05%, -1.59%number com sinalparseEkytePercent
Duração05:00number em minutosparseEkyteDuration
Zero-width​ invisívelstring limpacleanZeroWidth

Tratamento de campos vazios

Tipo de campoComportamento
Texto"" (string vazia, não null)
Numérico0
Datanull

Estratégia resiliente de parsing

  1. Coleta — erros acumulados em parseErrors (sem lançar exceção).
  2. Exibição — modal ParseErrorBadge no cabeçalho, listando as linhas problemáticas.
  3. Processamento — linhas inválidas são ignoradas nos cálculos, mas o dashboard continua funcionando.

10.2 Padrões de qualidade

Todos os dashboards seguem estes padrões:

ItemPadrão
Stack técnicoReact + TypeScript + Tailwind + Recharts + lucide-react
Parser de CSVPapaparse
Parser de XLSXSheetJS (xlsx)
Componentes UIshadcn/ui (cards, badges, tabelas, dropdowns)
Cores semânticasVerde = positivo / Vermelho = negativo / Amarelo = atenção / Azul = informativo / Cinza = neutro
IdiomaPortuguês do Brasil
Formato de moedaR$ 1.234,56
Formato de dataDD/MM/AAAA na exibição
Formato de duraçãoHH:MM na exibição (internamente em minutos)
Estado vazioMensagem clara + botão "Limpar filtros"
Estado de loadingSkeleton (não spinner)
Erros de parsingColetados, não bloqueiam; badge de qualidade
Badge de freshness"Dados atualizados em DD/MM/AAAA HH:MM" no cabeçalho

Convenções globais

  • Visual: identidade consistente entre páginas (cards, tipografia, bordas, sombras, espaçamentos).
  • Filtros sticky com botão "Limpar filtros" à direita.
  • Drawer lateral com largura e grupos visuais padronizados.
  • Estados vazios com mensagem + ação.
  • Loading skeletons (sem spinners).
  • Tooltips em todos os KPIs explicando o cálculo.
  • Atalhos: / foca search · Esc limpa/fecha · números alternam visualizações.
  • Exportação: CSV ; UTF-8 com BOM, nome {página}-export-AAAA-MM-DD.csv.

Responsividade

FaixaLarguraComportamento
Mobile< 768pxSidebar vira menu hambúrguer; KPIs empilham em 1 coluna; gráficos com scroll horizontal; tabelas viram cards
Tablet768px – 1280pxSidebar colapsável (ícones-only); KPIs em 2 colunas; grade 2 colunas; drawers 80% da largura
Desktop≥ 1280pxSidebar fixa 240px; KPIs em 4+ colunas; grade 2×2; drawers 450–500px

Padrões adicionais:

  • Touch-friendly: áreas clicáveis com mínimo 44×44px em mobile/tablet.
  • Gráficos: usar ResponsiveContainer do Recharts em todos os casos.
  • Tabelas com muitas colunas: em mobile, mostrar apenas 3–4 colunas-chave e expor o restante no drawer.
  • Testar em três larguras antes de marcar um dashboard como pronto: 375px, 1024px e 1440px.

10.3 Dicionário de dados — Projetos e Tarefas

Projetos — Projeto_-_*.csv (29 colunas)

ColunaTipoDescrição
IdInteiroIdentificador único do projeto
IdentificaçãoTextoSlug ou código curto
ProjetoTextoNome de exibição
TagsTextoTags atribuídas (separadas por vírgula)
Cronograma compartilhadoTextoIndicador de cronograma compartilhado
WorkspaceTextoWorkspace do projeto
Evolução tarefasPercentual% de tarefas concluídas
Tarefas realizadasInteiroTarefas concluídas
Tarefas previstasInteiroTarefas planejadas
Evolução horasPercentual% de horas executadas vs. previstas
Horas realizadasDecimalTotal de horas trabalhadas
Horas previstasDecimalTotal de horas planejadas
Tendência esforçoDecimalProjeção de horas até a conclusão
TarefasInteiroTotal de tarefas
Tarefas atrasadasInteiroTarefas com prazo vencido
TicketsInteiroTickets vinculados
Tickets atrasadosInteiroTickets vencidos
InícioDataData de início
TérminoDataData de término (pode ser vazio)
ResponsávelTextoNome do responsável
OrçamentoMonetárioOrçamento total
Valor previstoMonetárioReceita/honorário previsto
Valor realizadoMonetárioReceita/honorário realizado
Despesas previstasMonetárioDespesas planejadas
Despesas realizadasMonetárioDespesas incorridas
PI previstoMonetárioProjeto Interno previsto
PI realizadoMonetárioProjeto Interno realizado
PlanejadoTextoPlanejado ou Não planejado
SituaçãoTextoAtivo, Pausado, Concluído, etc.

Tarefas — Controle_de_tarefas_-_*.csv (25 colunas)

ColunaTipoDescrição
IdInteiroIdentificador único
SituaçãoTextoAtiva, Concluída, Cancelada, etc.
TarefaTextoNome da tarefa
TagsTextoTags atribuídas
WorkspaceTextoWorkspace
Criada porTextoUsuário criador
Criada emDataData de criação
CanalTextoCanal de origem
Fluxo de trabalhoTextoWorkflow associado
EtapaTextoEtapa atual
ResponsávelTextoPode listar múltiplos, separados por vírgula
ExecutorTextoExecutor
Quantidade de peçasInteiroPeças criativas vinculadas
Quantidade de formuláriosInteiroFormulários preenchidos
Iniciar etapa emDataInício planejado da etapa
Executar etapa atéDataPrazo da etapa
Concluir tarefa atéDataPrazo final da tarefa
RestamDuraçãoTempo restante (HH:MM)
Última respostaData-horaTimestamp da última interação
PrioridadeTextoUrgente (100), Alta, etc., ou vazio
Esforço RealizadoDuraçãoHoras trabalhadas (HH:MM)
OrigemTextoProjeto: <nome> ou Ticket (atendimento): <nome>
OrçamentoMonetárioOrçamento da tarefa
Valor previstoMonetárioValor previsto
Valor realizadoMonetárioValor realizado

Em Tarefas, o campo monetário aparece em formato misto: alguns valores como R$ 0.00 (com ponto), outros como R$ 11,73 (com vírgula). Trate ambos no parser.


10.4 Dicionário de dados — demais fontes

Funil Multicanal 360 — formato pivotado

ColunaTipoDescrição
WorkspaceTextoWorkspace
MétricaTextoNome da métrica (Impressões, Cliques, Visitas, Leads, Valor gasto)
<data 1>, <data 2>, ...NuméricoUma coluna por data — valor da métrica naquela data

Atividades por Executor

O eKyte exporta o cabeçalho como "Ingressos", mas neste guia padronizamos para Tickets. Tratar como sinônimos.

ColunaTipoDescrição
ExecutorTextoNome do executor
EmailTextoE-mail do executor
WorkspaceTextoWorkspace
Executadas (Tarefas)InteiroTarefas executadas no período
AtrasaramInteiroQuantas das executadas atrasaram
Esforço (Tarefas)DuraçãoEsforço total em tarefas (HH:MM)
Qtd. PeçasInteiroPeças produzidas
Esforço (Etapas)DuraçãoEsforço em etapas
Executados (Tickets)InteiroTickets executados
Esforço (Tickets)DuraçãoEsforço em tickets
Esforço (Outros)DuraçãoOutros esforços
Esforço (Total)DuraçãoSoma de todos os esforços
Valor RealizadoMonetárioValor financeiro realizado pelo executor

Despesas de Projetos

ColunaTipoDescrição
WorkspaceTextoWorkspace
DespesaTextoNome da despesa (pode conter zero-width char)
ProjetoTextoProjeto vinculado
CanalTextoCanal (pode vir vazio → tratar como (Sem canal))
TagsTextoTags separadas por |
Valor previstoMonetárioValor planejado
Data previstaDataData planejada de pagamento
Valor realizadoMonetárioValor efetivamente pago
Data realizadaDataData efetiva de pagamento (vazia se não pago)

Monitoramento de Campanhas — 35 colunas com multilinha

ColunaTipoDescrição
WorkspaceTextoWorkspace
NomeTextoNome da campanha
StatusTextoStatus da campanha
PeríodoTextoPeríodo de veiculação
Valor gastoMonetárioTotal investido
ImpressõesInteiroTotal de impressões
CliquesInteiroTotal de cliques
VisitasInteiroTotal de visitas
VendasInteiroTotal de vendas
ReceitaMonetárioReceita gerada
CTRPercentualTaxa de clique sobre impressões
CPMMonetárioCusto por mil impressões
CPCMonetárioCusto por clique
CPVMonetárioCusto por visualização
CPAMonetárioCusto por aquisição
ROASDecimalRetorno sobre o investimento em anúncios
Leads (MQL+SQL)MultilinhaUma linha por fonte: <fonte> | <valor>
Leads (MQL+SQL) var%MultilinhaVariação % por fonte (preserva sinal)
CPLMultilinhaCusto por lead por fonte
CPL var%MultilinhaVariação % do CPL por fonte
Leads SQLMultilinhaLeads SQL por fonte
Leads SQL var%MultilinhaVariação % dos leads SQL por fonte

Monitoramento de Redes Sociais — XLSX com cabeçalho de 2 linhas

Linha do cabeçalhoColunas
Linha 1Workspace (1 coluna) | Instagram (7 colunas mescladas) | Facebook (7) | LinkedIn (7) | TikTok (7)
Linha 2(vazio) | Seguidores | Novos seguidores | Alcance | Engajamento | Reações | Comentários | Compartilhamentos | (repete para cada rede)

Campos resultantes após merge:

CampoRedeMétrica
workspace—Identificador do workspace
instagram_seguidoresInstagramTotal de seguidores
instagram_novos_seguidoresInstagramNovos seguidores no período
instagram_alcanceInstagramAlcance total
instagram_engajamentoInstagramEngajamento total
instagram_reacoesInstagramReações
instagram_comentariosInstagramComentários
instagram_compartilhamentosInstagramCompartilhamentos
facebook_seguidoresFacebookTotal de seguidores
facebook_novos_seguidoresFacebookNovos seguidores no período
facebook_alcanceFacebookAlcance total
facebook_engajamentoFacebookEngajamento total
facebook_reacoesFacebookReações
facebook_comentariosFacebookComentários
facebook_compartilhamentosFacebookCompartilhamentos
linkedin_seguidoresLinkedInTotal de seguidores
linkedin_novos_seguidoresLinkedInNovos seguidores no período
linkedin_alcanceLinkedInAlcance total
linkedin_engajamentoLinkedInEngajamento total
linkedin_reacoesLinkedInReações
linkedin_comentariosLinkedInComentários
linkedin_compartilhamentosLinkedInCompartilhamentos
tiktok_seguidoresTikTokTotal de seguidores
tiktok_novos_seguidoresTikTokNovos seguidores no período
tiktok_alcanceTikTokAlcance total
tiktok_engajamentoTikTokEngajamento total
tiktok_reacoesTikTokReações
tiktok_comentariosTikTokComentários
tiktok_compartilhamentosTikTokCompartilhamentos

Publicações

ColunaTipoDescrição
IdInteiroIdentificador único da publicação
CanalTextoPerfil/conta de publicação (ex.: Nome (@handle))
PublicaçãoTextoNome/título da publicação
TipoTextoFormato do post (ex.: Post Único: Feed, Post Carrossel: Feed)
WorkspaceTextoWorkspace associado
TarefaInteiroID da tarefa vinculada
EtapaTextoEtapa atual da publicação no fluxo
ProjetoTextoProjeto relacionado
VeiculaçãoTextoPlataforma de publicação (Instagram, TikTok, LinkedIn etc.)
AgendadoData-horaData e hora agendados (DD/MM/AAAA HH:MM)
AprovaçãoTextoAprovado, Em análise, Em revisão, Pendente
SituaçãoTextoAgendado, Publicado parcialmente, Não publicado
Esta página foi útil?