Solucionei Live Bible
# 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.