# Setup do novo projeto Firebase — Catálogo Ciranda

Passo a passo pra criar um projeto Firebase **dedicado** só pro catálogo, com regras permissivas pra alto volume de gravação.

---

## 1) Criar o projeto no Firebase

1. Vá em **https://console.firebase.google.com**
2. Clique em **"Adicionar projeto"**
3. Nome sugerido: **`ciranda-catalogo`** (ou o que preferir)
4. Pode **desativar o Google Analytics** — a gente já tem tracking próprio
5. Aguarde a criação (~30s)

---

## 2) Ativar o Realtime Database

1. No menu lateral esquerdo: **Build → Realtime Database**
2. Clique em **"Criar banco de dados"**
3. Localização: escolha **`us-central1`** (mais barato e mais performático pro Brasil na hora de gravar)
4. Regras de segurança: escolha **"Iniciar no modo de teste"** (a gente troca as regras logo abaixo)
5. Clique em **"Ativar"**

Depois disso, copie a URL que aparece no topo da tela. Vai ser algo tipo:

```
https://ciranda-catalogo-default-rtdb.firebaseio.com
```

**Guarde essa URL** — você vai colar ela nos dois HTMLs no passo 5.

---

## 3) Colar as regras de segurança

1. Ainda em Realtime Database, clique na aba **"Regras"** (no topo)
2. Apague tudo que estiver lá
3. Cole exatamente isto:

```json
{
  "rules": {
    "eventos": {
      ".read": true,
      ".write": true,
      ".indexOn": ["ts", "tipo", "colecao", "data"]
    },
    "config": {
      ".read": true,
      ".write": false
    }
  }
}
```

4. Clique em **"Publicar"**

### O que essas regras fazem

- **`eventos`** — qualquer visitante pode gravar (necessário pro tracking anônimo do catálogo público) e qualquer um pode ler (o admin lê pra montar os gráficos)
- **`.indexOn`** — cria índice pros campos que a gente ordena/filtra, essencial pra alto volume
- **`config`** — reservado pra colocar dados de configuração no futuro (leitura pública, mas só você grava pelo console)

⚠️ **Sobre "público":** como você quer o catálogo aberto, essas regras são o mais permissivas possível pra funcionar sem login. O único risco real seria alguém tentar poluir com eventos falsos — mas como é dado analítico e não afeta os produtos em si, é aceitável. Se um dia quiser blindar, dá pra migrar pra Firebase Auth anônimo depois.

---

## 4) Ajustar limites de retenção (opcional mas recomendado)

Com alto volume, o node `eventos` cresce rápido. Recomendo dois hábitos:

**(a) Ver quantos eventos existem** — periodicamente no console:  
Realtime Database → aba Dados → passa o mouse sobre `eventos` → vê o tamanho.

**(b) Limpar eventos antigos** (a cada 3-6 meses):  
No console, clique em `eventos` → menu de três pontos → "Excluir" nos filhos antigos. Ou peça pra eu criar um script `admin-cleanup.html` que apaga automaticamente eventos com mais de X dias.

O plano gratuito do Firebase (Spark) aguenta bastante:
- **10 GB armazenados**
- **10 GB de transferência/mês**
- **100 conexões simultâneas**

Cada evento pesa em média ~250 bytes, então dá pra registrar em torno de **40 milhões de eventos** antes de ocupar 10 GB. Suficiente pra anos.

---

## 5) Colar a URL nos HTMLs

Abra **`catalogo.html`** e **`catalogo-admin.html`**. No topo do `<script>` de cada um você vai ver:

```javascript
const FB_DATABASE_URL = "https://SEU-PROJETO-default-rtdb.firebaseio.com";
```

Troque `SEU-PROJETO-default-rtdb.firebaseio.com` pela URL que você copiou no passo 2.

Salve, suba os dois arquivos por FTP (junto com o `robots.txt` e `sitemap.xml`) e pronto.

---

## 6) Testando

1. Abra `catalogo.html` no navegador
2. Abra uma coleção e baixe alguma imagem
3. Vá em Realtime Database no console — você deve ver um novo item aparecendo em `eventos/` em tempo real
4. Abra `catalogo-admin.html` — os dados devem aparecer nos gráficos

Se não aparecer nada, abra o DevTools (F12) → aba Console e me manda o erro.
