Files
dbmaker/instrucoes/databook-implementacao-pratica.md

18 KiB

🚀 DATABOOK MANAGER V2.0 - GUIA DE IMPLEMENTAÇÃO PRÁTICO

Versão: 2.0 com Módulos A, B, C, D
Data: 13 de novembro de 2025
Objetivo: Implementar sistema em 2-3 dias no máximo


CHECKLIST PRÉ-IMPLEMENTAÇÃO

Preparação (30 min)

□ Criar conta Supabase: https://supabase.com
□ Criar projeto PostgreSQL na região mais próxima
□ Criar conta WeWeb.io: https://weweb.io (OU Bubble.io)
□ Criar conta OpenAI / Claude / Gemini (para IA)
□ Copiar credenciais:
  □ Supabase URL
  □ Supabase Anon Key
  □ LLM API Key
□ Preparar pasta estrutura local (ver seção "Estrutura de Pastas")

Configuração Banco de Dados (1 hora)

□ Acessar Supabase SQL Editor
□ Copiar TODO o SQL do arquivo "databook-manager-v2-completo-revisado.md"
□ Executar script (leva ~2 minutos)
□ Verificar se todas 9 tabelas foram criadas:
  □ clientes
  □ templates_topicos
  □ templates_customizados
  □ databooks_mestres
  □ projetos
  □ secoes_databook
  □ documentos_auto_indexados
  □ configuracoes_pastas
  □ integracao_ia
□ Verificar views foram criadas
□ Habilitar RLS (Row Level Security)
□ Configurar Storage buckets:
  □ databook-documentos (privado)
  □ databook-pdfs-gerados (privado)
  □ databook-logos-caras (privado)

Estrutura de Pastas Local (15 min)

□ Criar estrutura de pastas locais:
  C:\Projetos\Databook\
  ├─ certificados\solda\
  ├─ certificados\metais\
  ├─ certificados\end\
  ├─ certificados\pintura\
  ├─ desenhos\
  ├─ relatorios\
  ├─ procedimentos\
  ├─ eps\
  ├─ fotos\
  └─ atestados\
□ Popular com alguns documentos de teste

IMPLEMENTAÇÃO NO WEWEB (2-3 DIAS)

DIA 1: Estrutura Básica (4 horas)

1.1 Conectar Supabase ao WeWeb (30 min)

1. Em WeWeb Dashboard:
   - Clique em "Extensions"
   - Procure por "Supabase"
   - Instale plugin oficial
   
2. Configure credenciais:
   - Supabase URL: https://xxx.supabase.co
   - Supabase Anon Key: eyJhbGc...
   
3. Teste conexão:
   - Crie query teste
   - SELECT * FROM usuarios LIMIT 1
   - Verifique se retorna dados
   
4. Crie collections (queries) para:
   - get_templates
   - get_projetos
   - get_secoes
   - get_documentos
   - etc.

1.2 Criar Páginas Básicas (2 horas)

ESTRUTURA DE PÁGINAS:

/login
  └─ Form simples com email/senha
  └─ Autenticação Supabase Auth

/dashboard
  └─ Cards: Projetos Recentes, Total Docs, Progresso
  └─ Tabela de projetos
  └─ Botão "Novo Databook"

/templates
  └─ Tabs: Pré-definidos | Meus Templates
  └─ Cards de cada template
  └─ Botões: Ver, Editar, Clonar, Deletar
  └─ Botão "+ Novo Template"

/templates/criar
  └─ Step 1: Dados básicos (nome, tipo)
  └─ Step 2: Seleção de tópicos (checklist)
  └─ Step 3: Revisar e salvar

/databook/novo
  └─ Step 1: Dados mestres (cliente, produto)
  └─ Step 2: Customizar capa
  └─ Step 3: Confirmar

/databook/:id
  └─ Tabs:
    └─ Informações
    └─ Índice (árvore de seções)
    └─ Pré-visualização
    └─ Documentos
    └─ Configurações

/configuracoes
  └─ Tabs:
    └─ Pastas e Documentos
    └─ Usuários
    └─ Logs
    └─ Integrações IA

/busca
  └─ Input busca full-text
  └─ Resultados com destaque

1.3 Implementar Autenticação (1 hora)

Usar Supabase Auth nativo no WeWeb:

1. Página /login:
   - Email input
   - Password input
   - Botão "Entrar"
   
2. Workflow:
   - Clique "Entrar"
   - Supabase Auth → login user
   - Se sucesso: Redirecionar para /dashboard
   - Se erro: Mostrar toast error
   
3. Session:
   - Guardar token em context global
   - Verificar token em cada página
   - Se não autenticado: Redirecionar para /login

DIA 2: Módulos A + B + C (5 horas)

2.1 MÓDULO A: Criar Templates com CRUD (2 horas)

PÁGINA: /templates/criar

Step 1: Dados Básicos
├─ Input: Nome template
├─ Radio: Novo / Derivado
├─ IF Derivado:
│  └─ Dropdown: Selecionar template base
│     └─ Carrega estrutura via API
└─ Botão: Próximo

Step 2: Seleção de Tópicos
├─ Tabela com 28 tópicos (3 colunas)
├─ Cada tópico com checkbox
├─ Search box para filtrar
├─ Botões de pré-definição:
│  ├─ Completo (todos)
│  ├─ Mínimo (9 obrigatórios)
│  ├─ Offshore (26)
│  └─ Civil (15)
├─ Status: "Selecionados: 18 / 28"
└─ Botão: Salvar Template

Backend:
├─ Ao clicar Salvar:
│  ├─ INSERT em templates_customizados
│  ├─ Array topicos_selecionados: [uuid1, uuid2, ...]
│  ├─ Count: total_topicos, total_obrigatorios
│  └─ Redireciona para /templates com sucesso

2.2 MÓDULO B: Dados Mestres + Capa (2 horas)

PÁGINA: /databook/novo

Step 1: Dados Mestres
├─ SEÇÃO: CLIENTE
│  ├─ Input: Nome cliente
│  ├─ Input: Contato
│  ├─ Input: Email
│  └─ Input: Telefone
├─
├─ SEÇÃO: PRODUTO
│  ├─ Input: Nome produto
│  ├─ Dropdown: Tipo (offshore/galpão/edifício/ponte)
│  ├─ Textarea: Descrição
│  └─ Multi-select: Normas
├─
├─ SEÇÃO: IDENTIFICAÇÃO
│  ├─ Input: Número projeto (auto-gerado)
│  ├─ Input: Ordem compra
│  ├─ Date picker: Data início
│  ├─ Date picker: Data entrega
│  └─ Dropdown usuários: Responsável
├─
├─ SEÇÃO: REVISÃO
│  ├─ Input: Revisão atual
│  ├─ Date: Data revisão (auto)
│  ├─ Text: Autor (auto)
│  └─ Textarea: Motivo
└─ Botão: Próximo

Step 2: Customizar Capa
├─ UPLOAD: Logo empresa (drag-drop)
├─ UPLOAD: Logo cliente (drag-drop)
├─ UPLOAD: Marca d'água (drag-drop)
├─ COLOR PICKER: Cor primária
├─ COLOR PICKER: Cor secundária
├─ INPUTS: Textos capa (título, subtítulo)
├─ RADIO: Tamanho página (A4/Letter)
├─ RADIO: Orientação (Retrato/Paisagem)
├─ CHECKBOX: Incluir marca d'água
├─ CHECKBOX: Incluir número página
├─ PREVIEW: Abre modal com preview
└─ Botão: Criar Databook

Backend:
├─ Ao clicar Criar:
│  ├─ INSERT projetos (dados mestres)
│  ├─ INSERT databooks_mestres (dados capa)
│  ├─ Upload logos para Storage
│  ├─ Redireciona para /databook/:id
│  └─ Status: "Databook criado com sucesso!"

2.3 MÓDULO C: Configurações Pastas (1.5 horas)

PÁGINA: /configuracoes

Tab: Pastas e Documentos
├─ TABELA: Mapeamentos atuais
│  ├─ Colunas: Tipo | Subtipo | Caminho | Ações
│  ├─ Linhas: Certificados/Solda, Desenhos, Relatórios, etc.
│  └─ Ações: [✎ Editar] [✕ Deletar]
├─
├─ NOVO MAPEAMENTO: Dialog
│  ├─ Dropdown: Tipo documento
│  ├─ Input: Subtipo (opcional)
│  ├─ File picker: Caminho local
│  ├─ Preview: "Pasta contém N arquivos"
│  └─ Botão: Salvar
├─
├─ AUTOMAÇÃO IA:
│  ├─ Checkbox: Habilitar varredura
│  ├─ Dropdown: Frequência (ao_criar/diario/semanal)
│  ├─ Dropdown: Provider (OpenAI/Claude/Gemini)
│  ├─ Password: API Key
│  ├─ Botão: Testar Conexão
│  ├─ Checkbox: Incluir subpastas
│  ├─ Multi-select: Formatos aceitos
│  └─ Spinner: Tamanho máximo MB
├─
├─ FILTROS:
│  ├─ Tags multi-input obrigatórias
│  ├─ Keywords multi-input excluir
│  └─ Radio: Ordenação (data/nome/relevância)
└─
└─ Botão: Salvar Configurações

Backend:
├─ Salvar em configuracoes_pastas
├─ Testar API Key em integracao_ia
├─ Log em log_atividades
└─ Toast: "Configurações salvas!"

DIA 3: Módulo D + Finalização (4 horas)

3.1 MÓDULO D: Pré-visualização + IA (3 horas)

PÁGINA: /databook/:id

Ao abrir:
├─ Se documentos não processados:
│  └─ Oferece: [Processar com IA] [Pular]
│
└─ Se [Processar]:
   ├─ Barra progresso aparece
   ├─ Chama API /process-documents
   │  ├─ Executa: Varrer pastas → Extrair → Analisar
   │  ├─ Salva: docs em documentos_auto_indexados
   │  ├─ Log: resultado em log_processamento_ia
   │  └─ Retorna: {total_docs_indexados, duracao}
   │
   └─ Após sucesso:
      ├─ Recarrega página
      ├─ Mostra preview
      └─ Toast: "{N} documentos indexados!"

PREVIEW (Sidebar + Main):
├─ SIDEBAR ESQUERDA (Índice):
│  ├─ Árvore de seções
│  ├─ Cada seção mostra:
│  │  ├─ Ícone status (✓/⚠/○)
│  │  ├─ Título
│  │  └─ Número de docs
│  └─ Expandir/Colapsar
│
├─ MAIN AREA (Visualização):
│  ├─ Preview visual PDF
│  ├─ Capa
│  ├─ Índice automático
│  ├─ Thumbnails documentos
│  └─ Zoom controls
│
└─ PAINEL DIREITO (Info):
   ├─ Status geral
   ├─ Total seções: 28
   ├─ Completas: 18
   ├─ Faltando: 3
   ├─ Progresso: 86%
   │
   ├─ Lista docs por seção
   ├─ Cada doc com:
   │  ├─ [👁️ Ver]
   │  ├─ [↓ Download]
   │  ├─ [✎ Editar]
   │  ├─ [↕ Mover]
   │  └─ [✕ Remover]
   │
   └─ Ações:
      ├─ [⚠️ Faltantes]
      ├─ [🔄 Re-processar]
      ├─ [📄 Preview PDF]
      ├─ [💾 Salvar Rascunho]
      ├─ [✓ Finalizar]
      └─ [✕ Cancelar]

Backend (API Node.js):
├─ POST /api/databook/:id/process-documents
│  ├─ Verifica configuracoes_pastas
│  ├─ Verifica integracao_ia (API Key)
│  ├─ Itera pastas mapeadas
│  ├─ Para cada arquivo:
│  │  ├─ Extrai texto (OCR se PDF)
│  │  ├─ Envia para LLM com prompt
│  │  ├─ Recebe: secao, titulo, numero, tags
│  │  └─ INSERT em documentos_auto_indexados
│  ├─ Log: resultado em log_processamento_ia
│  └─ Retorna JSON com stats
└─
└─ POST /api/databook/:id/gerar-pdf
   ├─ Monta PDF estruturado
   ├─ Aplica OCR para busca
   ├─ Upload para Storage
   ├─ Retorna: URL do PDF
   └─ Toast: "PDF gerado com sucesso!"

3.2 Finalização e Testes (1 hora)

CHECKLIST TESTES:

□ Criar cliente
□ Criar template com seleção de tópicos
□ Criar novo databook
  □ Preencher dados mestres
  □ Customizar capa com logo e cores
  □ Configurar pastas com alguns PDFs
  □ Processar com IA
  □ Ver pré-visualização
  □ Visualizar lista documentos por seção
  □ Editar metadados de documento
  □ Mover documento para outra seção
  □ Re-processar

□ Gerar PDF final
  □ Download
  □ Visualizar em PDF reader
  □ Buscar por palavra-chave (Full-text search)
  
□ Usuários e permissões
  □ Criar novo usuário
  □ Atribuir perfil
  □ Verificar acesso

□ Logs e auditoria
  □ Verificar atividades registradas
  □ Exportar log

PROMPT DEFINITIVO PARA LOVABLE (WeWeb)

Crie um aplicativo web profissional chamado "Databook Manager Pro" para gestão inteligente de databooks de fabricação de estruturas metálicas com integração IA.

ARQUITETURA:
- Frontend: React 18 + TypeScript + Tailwind CSS
- Backend: Supabase (PostgreSQL) + Edge Functions (Node.js)
- IA: OpenAI GPT-4 / Claude 3.5 / Gemini 1.5
- PDF: PDFKit + OCR (Tesseract.js)

FUNCIONALIDADES PRINCIPAIS:

1. AUTENTICAÇÃO
   - Login com Supabase Auth (email/senha)
   - Proteção de rotas por perfil
   - Perfis: Admin, Gerente Qualidade, Engenheiro, Cliente
   - Session management

2. MÓDULO A: TEMPLATES COM CRUD
   - Listar templates (pré-definidos + customizados)
   - Criar novo template
     └─ Passo 1: Dados básicos (nome, tipo: novo/derivado)
     └─ Passo 2: Seleção de tópicos (28 disponíveis, 3 colunas)
     └─ Passo 3: Revisar e salvar
   - Editar template existente
   - Duplicar template (cria variação)
   - Deletar template (com confirmação)
   - Pré-definições: Completo (28), Mínimo (9), Offshore (26), Civil (15)

3. MÓDULO B: DADOS MESTRES + CAPA
   - Criar novo databook
     └─ Passo 1: Dados mestres
        ├─ Cliente: nome, contato, email, telefone
        ├─ Produto: nome, tipo, descrição, normas
        ├─ Identificação: número, OC, datas, responsável
        └─ Revisão: revisão, data, autor, motivo
     
     └─ Passo 2: Customizar capa
        ├─ Uploads: logo empresa, logo cliente, marca d'água
        ├─ Cores: primária, secundária (color pickers)
        ├─ Textos: título, subtítulo, rodapé
        ├─ Formatação: tamanho página, orientação, margens
        └─ Preview capa em tempo real

4. MÓDULO C: CONFIGURAÇÕES E AUTOMAÇÃO IA
   - Tab "Pastas e Documentos"
     ├─ Tabela: Tipo | Subtipo | Caminho | Ações
     ├─ CRUD de mapeamentos: criar, editar, deletar
     └─ Dialog "Novo Mapeamento"
        ├─ Dropdown: Tipo documento
        ├─ Input: Subtipo
        ├─ File picker: Caminho local
        └─ Preview: Lista arquivos na pasta
   
   - Automação IA
     ├─ Checkbox: Habilitar/desabilitar
     ├─ Frequency: ao_criar / diario / semanal
     ├─ Provider: OpenAI / Claude / Gemini
     ├─ API Key input (masked)
     ├─ Teste conexão
     └─ Configurações: subpastas, formatos, tamanho máx
   
   - Filtros IA
     ├─ Tags obrigatórias (multi-input)
     ├─ Palavras-chave excluir (multi-input)
     └─ Ordenação: data / nome / relevância
   
   - Tab "Usuários e Permissões"
     ├─ Tabela usuários: Nome | Email | Perfil | Status
     ├─ Adicionar usuário
     ├─ Editar perfil
     └─ Deletar acesso
   
   - Tab "Logs e Auditoria"
     ├─ Tabela logs: Data | Usuário | Ação | Status
     ├─ Filtros: data range, usuário, ação, status
     └─ Exportar log (CSV)

5. MÓDULO D: PRÉ-VISUALIZAÇÃO COM IA
   - Ao abrir databook:
     ├─ Se sem processamento: Oferecer [Processar] [Pular]
     └─ Se [Processar]:
        ├─ Barra progresso
        ├─ Chama API /process-documents
        │  ├─ Varre pastas
        │  ├─ Extrai texto (OCR)
        │  ├─ Envia para LLM
        │  ├─ Classifica em seção
        │  ├─ Indexa conteúdo
        │  └─ Armazena BD
        └─ Toast: "{N} documentos indexados!"
   
   - Preview
     ├─ Sidebar esquerda: Índice hierárquico
     │  └─ Cada seção: ✓/⚠/○ status, título, n° docs
     
     ├─ Main area: Visualização PDF
     │  ├─ Preview capa
     │  ├─ Índice automático
     │  ├─ Thumbnails documentos
     │  └─ Zoom controls
     
     └─ Painel direito: Informações
        ├─ Status geral: total/completas/faltando/N/A/progresso
        ├─ Lista documentos por seção
        │  └─ Cada doc: [👁️] [↓] [✎] [↕] [✕]
        └─ Ações: [⚠️ Faltantes] [🔄 Re-proc] [📄 PDF] [✓ Final]

6. GERAÇÃO PDF FINAL
   - Validações:
     ├─ Seções obrigatórias têm documentos?
     ├─ Capa foi customizada?
     └─ Dados mestres foram preenchidos?
   
   - Se OK:
     ├─ Monta PDF estruturado
     ├─ Capa personalizada
     ├─ Índice com links internos
     ├─ Todas seções e documentos
     ├─ Marca d'água em todas páginas
     ├─ Números de página
     ├─ OCR embarcado para busca
     ├─ Metadados completos
     └─ Upload para Storage
   
   - Opções pós-geração:
     ├─ [⬇️ Download]
     ├─ [🔗 Compartilhar] (link com vencimento)
     ├─ [📧 Enviar por Email]
     └─ [📊 Ver Relatório]

7. BUSCA FULL-TEXT
   - Input global busca
   - Busca em:
     ├─ Títulos documentos
     ├─ Conteúdo extraído (OCR)
     ├─ Tags
     └─ Números de documentos
   
   - Resultados:
     ├─ Agrupados por projeto
     ├─ Destaque do termo
     ├─ Link direto para documento
     └─ Preview contexto

8. DASHBOARD
   - Cards estatísticas:
     ├─ Total projetos
     ├─ Em andamento
     ├─ Atrasados
     └─ Concluídos
   
   - Tabela projetos:
     ├─ Nome | Cliente | Status | Progresso | Datas | Ações
     └─ Filtros: Cliente, Status, Data
   
   - Gráficos:
     ├─ Progresso por projeto (barra horizontal)
     ├─ Status distribuição (pizza)
     └─ Timeline atividades recentes

BANCO DE DADOS:
[Copie SQL completo da documentação]

SEGURANÇA:
- Row Level Security (RLS) em todas tabelas
- Autenticação Supabase Auth
- API Key criptografada
- Sanitização de inputs
- Rate limiting

UI/UX:
- Design moderno (Tailwind CSS)
- Paleta: Azul (#1E40AF) + Cinza (#64748B) + Verde (#10B981) + Vermelho (#EF4444)
- Responsivo (desktop/tablet/mobile)
- Dark mode opcional
- Loading states visuais
- Validações com feedback
- Tooltips e onboarding

ESTRUTURA CÓDIGO:
src/
├── components/
│   ├── Layout/
│   ├── Dashboard/
│   ├── Templates/
│   ├── Databooks/
│   ├── Configuracoes/
│   └── Preview/
├── pages/
├── hooks/
├── lib/
│   ├── supabase.ts
│   ├── llm-analyzer.ts
│   ├── pdf-generator.ts
│   └── ocr-processor.ts
├── types/
└── utils/

GERE CÓDIGO COMPLETO, FUNCIONAL E PRONTO PARA DEPLOY.

PRÓXIMOS PASSOS (Depois de v2.0)

v2.1 (Futuro)

□ Integração com Jira/Azure DevOps
□ Webhooks para notificações
□ Mobile app (React Native)
□ API REST pública (para terceiros)
□ Versionamento automático de PDFs
□ Comparação entre versões de databooks
□ Aprovação workflow (com assinaturas digitais)
□ Integration com Microsoft 365 (upload para SharePoint)
□ Analytics dashboard (KPIs de qualidade)
□ Machine Learning (classificação mais precisa)

CONCLUSÃO

Documentação Completa: V2.0 com 4 módulos (A, B, C, D) Banco de Dados: 9 tabelas + views + triggers + RLS IA Integration: LLM para auto-indexação PDF: Consultável com full-text search Pronto para Implementar: No-code (WeWeb) + Supabase Tempo Implementação: 2-3 dias Complexidade: Média (No-code)


Sistema 100% Documentado e Pronto para Implementação! 🚀

Data: 13 de novembro de 2025