# Escola Bíblica Aviva — ativação do Supabase

Esta versão já está preparada para funcionar com Supabase real. O site público, login, área do aluno e Admin usam a mesma base.

## 1. Criar/abrir o projeto no Supabase
No painel do Supabase, abra o projeto da Escola Bíblica Aviva.

## 2. Executar o banco
Abra **SQL Editor → New query**, cole todo o conteúdo de `supabase-schema.sql` e execute.

O SQL cria:
- perfis e permissões;
- pré-inscrições;
- equipe/professores;
- cursos e aulas;
- materiais;
- matrículas e progresso;
- avaliações e notas;
- presença;
- aulas ao vivo;
- certificados;
- conteúdo editável do site;
- Storage;
- políticas RLS de segurança.

## 3. Configurar URL e chave pública no Vercel
Em **Vercel → Environment Variables**, crie:

- `SUPABASE_URL` = Project URL do Supabase
- `SUPABASE_ANON_KEY` = Publishable key (`sb_publishable_...`)

Esta versão possui a função `/api/supabase-config`, que lê essas variáveis no servidor e entrega somente os valores públicos necessários ao navegador.

Nunca coloque `service_role`, `sb_secret_...` ou qualquer secret key no site.

Depois de salvar as variáveis, faça **Redeploy** no Vercel.

## 4. Configurar URLs de autenticação
No Supabase, abra **Authentication → URL Configuration**.

- Em **Site URL**, coloque o endereço final do projeto no Vercel/domínio da EBA.
- Em **Redirect URLs**, adicione o mesmo domínio e também `https://SEU-DOMINIO/recuperar.html`.

Isso permite confirmação de e-mail e recuperação de senha funcionando corretamente.

## 5. Criar o primeiro Admin
Abra `login.html`, escolha **Criar conta** e faça seu cadastro normalmente.

Depois, no SQL Editor do Supabase, execute trocando pelo e-mail do administrador:

```sql
update public.profiles
set role = 'admin'
where id = (select id from auth.users where email = 'SEU-EMAIL@EXEMPLO.COM');
```

Saia e entre novamente. O sistema direcionará automaticamente para `admin.html`.

## 6. Publicar no Vercel
Envie a pasta do projeto para o Vercel depois que `supabase-config.js` estiver preenchido.

## O que o Admin já controla nesta base
- pré-inscrições e status;
- usuários cadastrados;
- equipe e professores;
- cursos e módulos;
- aulas e vídeos;
- materiais por URL;
- notas;
- textos principais da página pública;
- imagens da equipe via Supabase Storage.

## Área do aluno
A área do aluno lê do Supabase:
- cursos matriculados;
- aulas publicadas;
- progresso;
- notas;
- aulas ao vivo;
- certificados.

## Observação
As páginas antigas `apresentacao.html`, `pagina2.html` e `plataforma.html` foram mantidas no projeto para não perder nenhum trabalho anterior. A página pública principal (`index.html`) agora reúne a apresentação completa em uma única página.


## V4 — atualização a partir do V3
Se o V3 já está funcionando no mesmo projeto Supabase, **não execute novamente o schema completo apenas para atualizar ao V4**. O V4 usa a mesma base existente e as mesmas duas variáveis do Vercel.

O upload de PDF usa o bucket privado `materials` criado pelo schema do V3. O aluno recebe um link temporário somente quando abre o material dentro da área autenticada.

## V4 — migração obrigatória para progresso sequencial

Como o V3 já está usando este mesmo Supabase, **não é necessário recriar o banco**. Para ativar o novo controle de avanço, execute apenas o arquivo:

`V4-MIGRACAO-PROGRESSO.sql`

No Supabase: **SQL Editor → New query → cole o conteúdo → Run**.

Esse SQL acrescenta ao progresso do aluno os campos de rastreamento e instala a regra que impede a conclusão de uma aula antes das anteriores.

### Regra de conclusão no V4
- YouTube/Vimeo: mínimo de 90% assistido.
- Material/PDF existente: precisa ser aberto.
- Aula sem vídeo: tempo ativo de estudo igual ao valor definido em **Duração (min)**, com mínimo de 1 minuto.
- A próxima aula só é liberada depois da conclusão válida da anterior.
- Não existe mais botão livre “Marcar como concluída”.

## V4.1 — cadastro automático
Para atualizar um banco V4 que já está em uso, execute **uma vez** `V4-CADASTRO-AUTOMATICO.sql`.
Ele adiciona o e-mail ao perfil e ativa a matrícula automaticamente no curso escolhido durante o cadastro. Não apaga nenhum dado existente.
