Projetos

Cada dashboard tem um projeto associado. Clique para ver detalhes e cards vinculados.

Objetivo
Descricao
Cards vinculados
Coluna
Atribuido
Categoria
Subcategoria
Descricao
Kanban /
Descricao
Subtasks
    Comentarios
    Sessoes de Agentes

    Novo Card

    Estrutura de Arquivos (v2)

    dsapp/v2/
    |-- main.py -- FastAPI app, rotas, startup
    |-- db.py -- DuckDB connection, load parquet, create views
    |-- cache.py -- Cache in-memory com TTL
    |-- chart_logic.py -- Engine Plotly (migrado da v1, sem Spark)
    |-- charts.py -- Classes OOP de charts (migrado da v1)
    |-- components.py -- Componentes reutilizaveis (funnel_paired, etc)
    |-- query_registry.py -- Carrega configs de JSON local
    |-- filter_registry.py -- Carrega filtros de JSON local
    |-- sync.py -- Script de sync de dados
    |-- PLAN.html -- Documentacao (este arquivo, servido em /docs)
    |-- Dockerfile
    |-- requirements.txt
    |-- templates/
    | |-- base.html -- Layout base (topbar, CSS, HTMX)
    | |-- dashboard.html -- Grid de charts
    | |-- docs.html -- Wrapper para PLAN.html
    | '-- partials/
    | |-- chart_grid.html -- Grid parcial de charts
    | '-- sidebar_filters.html -- Sidebar de filtros
    |-- static/
    | '-- style.css -- CSS Mevo
    '-- data/
    |-- dash.parquet/ -- Dados da tabela dash (75M rows)
    |-- config_queries.json -- Config de charts (exportado do Delta)
    |-- config_filters.json -- Config de filtros
    '-- column_stats.json -- Estatisticas de colunas

    Stack

    CamadaTecnologiaFuncao
    Web frameworkFastAPIRotas, SSR com Jinja2, async
    Query engineDuckDBIn-process, le parquet, SQL analitico em ~0.1s
    ChartsPlotly.js (CDN)Graficos interativos, mesmo da v1
    InteratividadeHTMXPartial page updates sem JS framework
    TemplatingJinja2Server-side rendering, sem build step
    CacheDict in-memory + TTLhash(query+params) -> HTML renderizado
    StylingCSS puro + Work SansBranding Mevo, sem Tailwind/Bootstrap
    DeployDockerContainer com FastAPI + DuckDB

    Componentes do App

    charts.py

    Classes Plotly para graficos. Cada tipo de grafico e uma classe:

    • FunnelStackedChart — barras 100% empilhadas + linha de conversao
    • TimeSeriesChart — barras + linhas temporais
    • CategoricalChart — eixo X categorico
    • LinkedTimeControlChart — 2 quadros lado a lado
    components.py

    Charts compostos que combinam multiplas visualizacoes:

    • funnel_paired — Share (%) + Volume lado a lado com controles compartilhados
    query_registry

    Carrega configs dos charts de data/config_queries.json (exportado da tabela Delta ds_app_queries).

    Define que charts mostrar em cada pagina, com SQL template e parametros.

    filter_registry

    Carrega configs dos filtros de data/config_filters.json.

    Define os filtros do sidebar (Data, UF, Farol Growth, etc). Usa DuckDB para buscar DISTINCT values.

    Cache

    Cache in-memory com TTL de 1 hora. Evita re-executar queries repetidas.

    Status disponivel em /health.

    Diagrama de Arquitetura

    Databricks mevo_data_us_east_1_staging_gold .source_of_truth.dash parquet App FastAPI + HTML COMPONENTES charts.pyClasses de graficos (Plotly) components.pyCharts compostos (ex: funnel_paired) query_registryDefine quais charts mostrar por pagina filter_registryDefine filtros do sidebar (Data, UF, etc) DuckDB Motor de queries (in-process, ~0.1s) Cache Atualiza a cada 1 dia. Ultima atualizacao: verificar /health

    Arvore de Dependencia das Tabelas (DAG)

    Pipeline DLT Dev | Pipeline DLT Prod
    50%
    Bronze Silver Gold SOT Gold Ecossistema Output (dash) Click = ver SQL. Scroll = zoom. Drag = pan.

    Colunas

    Coluna Tipo % Null Descricao Origem

    Qualidade de Dados

    Colunas com alta % de nulos geralmente vem da tabela de eventos. Eventos comecaram a ser coletados em datas diferentes.
    Mostrando 90 de 90 colunas
    Coluna Total Non-null Null % Null Primeiro dado Ultimo dado

    Organograma da Equipe

    Clique em um agente para ver detalhes, permissoes e tarefas atribuidas.

    Jarvis
    Head de Dados
    Gestao
    Dan
    Coord. Analytics
    Analytics
    Devin
    Principal Dev
    Dev
    Deng
    Principal D.E.
    Data Eng
    Growth1
    Analista Growth
    Analytics
    Growth2
    Analista Growth
    Analytics
    Medicos
    Analista Medicos
    Analytics
    Pacientes
    Analista Pacientes
    Analytics
    Estag
    Estagiario D.A.
    Analytics

    Responsabilidades

      Dashboards de Foco

      Pode Editar

      Nao Pode Editar

      Tarefas Atribuidas (Kanban)

      Carregando...

      Divisoes

      Data Analytics
      6 membros
      Dashboards, visualizacoes, analise de dados, regras de negocio
      Dan Growth1 Growth2 Medicos Pacientes Estag
      Engenharia de Software
      1 membro
      Arquitetura do app, infraestrutura, code review, merge, contratos
      Devin
      Engenharia de Dados
      1 membro
      SOT, DLTs, qualidade de dados, linhagem, documentacao, validacao
      Deng

      Regras de Operacao

      Proactive Insights
      A cada 3 tarefas concluidas, todo agente deve gerar 1 insight proativo. O insight nunca e executado automaticamente — apenas sugerido. O cliente decide se transforma em task ou deleta.
      Trigger: 3 tasks completed
      Coordenacao de Kanban
      Agentes devem checar o kanban antes de comecar qualquer trabalho. Nao pegar task ja atribuida a outro agente. O campo assigned_to indica o responsavel.
      Regra: checar kanban antes de comecar

      Live — Monitoramento de Agents

      Atividade dos agents em tempo real. Atualiza a cada 5 segundos.

      Agents Ativos Agora
      Carregando...
      Timeline de Eventos

      Historico de start/stop dos agents (mais recente primeiro).

      Carregando...
      Organograma do Time

      Verde = ativo agora. Cinza = idle.

      Chat — Conversa dos Agents

      Acompanhe as conversas em tempo real. Selecione um agent na sidebar.

      Sessoes Ativas
      Selecione um agent na sidebar para ver a conversa