18 KiB
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