# ETAPA 0 — BANCO BÍBLICO NVI Antes de continuar o desenvolvimento das funcionalidades do sistema, criar a estrutura completa do banco bíblico utilizando a tradução NVI (Nova Versão Internacional). IMPORTANTE: O projeto possui licença/autorização para utilização da NVI. A NVI deve ser tratada como conteúdo licenciado e não como conteúdo gerado por IA. O texto dos versículos deve sempre ser recuperado do banco de dados. A IA NUNCA deve gerar, completar ou modificar o texto bíblico. -------------------------------------------------- 1. BANCO DE DADOS -------------------------------------------------- Utilizar Supabase PostgreSQL. Criar uma estrutura normalizada para permitir futuramente múltiplas traduções. Criar as tabelas: bible_translations bible_books bible_chapters bible_verses -------------------------------------------------- 2. BIBLE_TRANSLATIONS -------------------------------------------------- Criar: id name abbreviation language copyright is_active created_at updated_at Cadastrar inicialmente: name: Nova Versão Internacional abbreviation: NVI language: pt-BR is_active: true Registrar a informação de copyright/licença correspondente à autorização fornecida para o projeto. -------------------------------------------------- 3. BIBLE_BOOKS -------------------------------------------------- Cadastrar os 66 livros da Bíblia. Campos: id translation_id book_number name short_name testament chapters_count created_at Ordenar pelo padrão bíblico: 01 Gênesis 02 Êxodo 03 Levítico 04 Números 05 Deuteronômio 06 Josué 07 Juízes 08 Rute 09 1 Samuel 10 2 Samuel 11 1 Reis 12 2 Reis 13 1 Crônicas 14 2 Crônicas 15 Esdras 16 Neemias 17 Ester 18 Jó 19 Salmos 20 Provérbios 21 Eclesiastes 22 Cânticos 23 Isaías 24 Jeremias 25 Lamentações 26 Ezequiel 27 Daniel 28 Oséias 29 Joel 30 Amós 31 Obadias 32 Jonas 33 Miquéias 34 Naum 35 Habacuque 36 Sofonias 37 Ageu 38 Zacarias 39 Malaquias 40 Mateus 41 Marcos 42 Lucas 43 João 44 Atos 45 Romanos 46 1 Coríntios 47 2 Coríntios 48 Gálatas 49 Efésios 50 Filipenses 51 Colossenses 52 1 Tessalonicenses 53 2 Tessalonicenses 54 1 Timóteo 55 2 Timóteo 56 Tito 57 Filemom 58 Hebreus 59 Tiago 60 1 Pedro 61 2 Pedro 62 1 João 63 2 João 64 3 João 65 Judas 66 Apocalipse -------------------------------------------------- 4. BIBLE_CHAPTERS -------------------------------------------------- Criar: id book_id chapter_number created_at Cada livro deve possuir exatamente a quantidade correta de capítulos. Criar relacionamento: bible_books 1 → N bible_chapters -------------------------------------------------- 5. BIBLE_VERSES -------------------------------------------------- Criar: id chapter_id verse_number text search_text created_at updated_at O campo: text deve conter o texto oficial da NVI. O campo: search_text deve ser preparado para pesquisas. Não alterar o texto original armazenado em "text". -------------------------------------------------- 6. TEXTO ORIGINAL O campo "text" deve preservar exatamente o conteúdo fornecido na fonte licenciada. Não: - resumir; - corrigir; - reescrever; - traduzir; - adaptar; - remover palavras; - adicionar palavras. -------------------------------------------------- 7. REFERÊNCIA Criar uma forma padronizada de identificar cada versículo. Exemplo: João 3:16 Romanos 8:28 Salmos 23:1 1 Coríntios 13:4 A aplicação deve conseguir montar automaticamente: book_name + chapter_number + verse_number -------------------------------------------------- 8. ÍNDICES Criar índices para acelerar: - livro; - capítulo; - versículo; - texto; - tradução; - combinação livro + capítulo + versículo. Criar índice único para: translation_id + book_id + chapter_number + verse_number Não permitir versículos duplicados. -------------------------------------------------- 9. BUSCA Preparar o banco para: busca por referência; busca por capítulo; busca por palavra; busca por trecho; busca semântica; busca utilizada pelo reconhecimento de voz. Exemplos: "João 3:16" "João 3" "João três dezesseis" "Deus amou o mundo" "versículos sobre fé" -------------------------------------------------- 10. NORMALIZAÇÃO DE BUSCA Criar o campo: search_text para facilitar buscas que ignorem: - maiúsculas/minúsculas; - acentos; - pequenas diferenças de formatação. Exemplo: "Deus amou o mundo" pode ser encontrado mesmo que o usuário pesquise: "deus amou o mundo" ou: "Deus amou" IMPORTANTE: A normalização é somente para pesquisa. O campo "text" permanece intacto. -------------------------------------------------- 11. ALIASES DOS LIVROS Criar uma tabela: bible_book_aliases Campos: id book_id alias normalized_alias created_at Cadastrar variações. Exemplos: João Joao 1 João Primeiro João Primeira João 1 Joao 1 Coríntios Primeiro Coríntios Primeira Coríntios 1 Corintios 2 Coríntios Segundo Coríntios Segunda Coríntios 2 Corintios Salmos Salmo etc. Criar aliases para todos os livros. Isso será utilizado pelo reconhecimento de voz da Etapa 2 e pela IA da Etapa 3. -------------------------------------------------- 12. CONTAGEM E VALIDAÇÃO Criar uma rotina administrativa para verificar: 66 livros todos os capítulos todos os versículos Não considerar a importação concluída enquanto houver: - livro faltando; - capítulo faltando; - versículo faltando; - duplicidade; - referência inválida. -------------------------------------------------- 13. IMPORTAÇÃO IMPORTANTE: Não buscar a NVI automaticamente em sites públicos. Não utilizar scraping de Bible Gateway, Bíblia Online ou outros sites. Utilizar exclusivamente o arquivo/base de dados fornecido pelo proprietário/licenciante da NVI para este projeto. Criar um mecanismo de importação preparado para receber: CSV JSON SQL ou outro formato estruturado autorizado. -------------------------------------------------- 14. ADMINISTRAÇÃO DA BÍBLIA Criar uma área administrativa: Configurações → Bíblia Mostrar: Tradução: NVI Status: Ativa Livros: 66 Capítulos: total Versículos: total Adicionar botão: VALIDAR BANCO -------------------------------------------------- 15. NÃO PERMITIR EDIÇÃO ACIDENTAL Depois que a NVI for importada: não permitir que usuários comuns editem o texto dos versículos. Somente administradores autorizados podem alterar dados da Bíblia. -------------------------------------------------- 16. IA Preparar o banco para integração com IA futuramente. Adicionar estrutura preparada para: verse_embedding Não implementar obrigatoriamente os embeddings nesta etapa. A Etapa 4 utilizará essa estrutura para busca semântica. -------------------------------------------------- 17. FUTURA MULTITRANSLATION A arquitetura deve permitir futuramente: NVI ARA NAA ACF outras traduções licenciadas. Não criar uma tabela separada para cada tradução. A tradução deve ser identificada através de: translation_id -------------------------------------------------- 18. SEGURANÇA Aplicar Row Level Security no Supabase. Usuários comuns: podem consultar os versículos necessários para o funcionamento do sistema. Não podem alterar o conteúdo. Administradores: podem gerenciar configurações autorizadas. -------------------------------------------------- 19. PERFORMANCE As consultas mais comuns devem ser rápidas. Exemplo: buscar: João 3:16 deve retornar praticamente instantaneamente. Não fazer chamadas à IA para uma referência que já pode ser encontrada diretamente no banco. -------------------------------------------------- 20. TESTES Criar testes para: João 3:16 Romanos 8:28 Salmos 23:1 1 Coríntios 13:4 Apocalipse 21:4 Testar também: João 3 Salmos 23 1 João 4:8 -------------------------------------------------- 21. CRITÉRIO DE ACEITAÇÃO A Etapa 0 estará concluída quando: 1. O Supabase possuir as tabelas bíblicas. 2. Os 66 livros estiverem cadastrados. 3. Todos os capítulos estiverem cadastrados. 4. Todos os versículos da NVI licenciada estiverem importados. 5. Não houver duplicidades. 6. As referências puderem ser consultadas rapidamente. 7. A busca por referência funcionar. 8. Os aliases dos livros funcionarem. 9. O texto original estiver preservado. 10. O banco estiver preparado para busca semântica. 11. O banco estiver preparado para múltiplas traduções. 12. Usuários comuns não puderem alterar os textos bíblicos. 13. A validação do banco retornar sucesso. NÃO criar dados bíblicos fictícios para preencher o banco. Se o arquivo/licença com o conteúdo da NVI ainda não estiver disponível dentro do projeto, NÃO inventar ou gerar os versículos. Nesse caso, criar toda a estrutura do banco e o mecanismo de importação e informar que é necessário fornecer o arquivo autorizado da NVI para concluir a importação. Aplique no código e na interface do projeto.