# 🔐 CONFIGURAÇÃO LOCAL - SGSE (Convex Local) **IMPORTANTE:** Seu sistema roda **localmente** com Convex Local, não no Convex Cloud! --- ## ✅ O QUE VOCÊ PRECISA FAZER Como você está rodando o Convex **localmente**, as variáveis de ambiente devem ser configuradas no seu **computador**, não no dashboard online. --- ## 📋 MÉTODO 1: Arquivo .env (Recomendado) ### **Passo 1: Criar arquivo .env** Crie um arquivo chamado `.env` na pasta `packages/backend/`: **Caminho completo:** ``` C:\Users\Deyvison\OneDrive\Desktop\Secretária de Esportes\Tecnologia da Informação\SGSE\sgse-app\packages\backend\.env ``` ### **Passo 2: Adicionar as variáveis** Abra o arquivo `.env` e adicione: ```env # Segurança Better Auth BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY= # URL da aplicação SITE_URL=http://localhost:5173 ``` ### **Passo 3: Salvar e reiniciar** 1. Salve o arquivo `.env` 2. Pare o servidor Convex (Ctrl+C no terminal) 3. Reinicie o Convex: `bunx convex dev` --- ## 📋 MÉTODO 2: PowerShell (Temporário) Se preferir testar rapidamente sem criar arquivo: ```powershell # No terminal PowerShell antes de rodar o Convex $env:BETTER_AUTH_SECRET = "+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY=" $env:SITE_URL = "http://localhost:5173" # Agora rode o Convex cd packages\backend bunx convex dev ``` ⚠️ **Atenção:** Este método é temporário - as variáveis somem quando você fechar o terminal! --- ## 🚀 PASSO A PASSO COMPLETO ### **1. Pare os servidores (se estiverem rodando)** ```powershell # Pressione Ctrl+C nos terminais onde estão rodando: # - Convex (bunx convex dev) # - Web (bun run dev) ``` ### **2. Crie o arquivo .env** Você pode usar o Notepad ou VS Code: **Opção A - Pelo PowerShell:** ```powershell cd "C:\Users\Deyvison\OneDrive\Desktop\Secretária de Esportes\Tecnologia da Informação\SGSE\sgse-app\packages\backend" # Criar arquivo .env @" # Segurança Better Auth BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY= # URL da aplicação SITE_URL=http://localhost:5173 "@ | Out-File -FilePath .env -Encoding UTF8 ``` **Opção B - Manualmente:** 1. Abra o VS Code 2. Navegue até: `packages/backend/` 3. Crie novo arquivo: `.env` 4. Cole o conteúdo: ``` BETTER_AUTH_SECRET=+Nfg4jTxPv1giF5MlmyYTxpU/VkS3QaDOvgSWd+QmbY= SITE_URL=http://localhost:5173 ``` 5. Salve (Ctrl+S) ### **3. Reinicie o Convex** ```powershell cd packages\backend bunx convex dev ``` ### **4. Reinicie o servidor Web (em outro terminal)** ```powershell cd apps\web bun run dev ``` ### **5. Verifique se funcionou** No terminal do Convex, você deve ver: **✅ Sucesso:** ``` ✔ Convex dev server running ✔ Functions ready! ``` **❌ NÃO deve mais ver:** ``` [ERROR] You are using the default secret [WARN] Better Auth baseURL is undefined ``` --- ## 🎯 PARA PRODUÇÃO (FUTURO) Quando for colocar em produção no seu servidor: ### **Se for usar PM2, Systemd ou similar:** Crie um arquivo `.env.production` com: ```env # IMPORTANTE: Gere um NOVO secret para produção! BETTER_AUTH_SECRET=NOVO_SECRET_DE_PRODUCAO_AQUI # URL real de produção SITE_URL=https://sgse.pe.gov.br ``` ### **Gerar novo secret para produção:** ```powershell $bytes = New-Object byte[] 32 (New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($bytes) [Convert]::ToBase64String($bytes) ``` ⚠️ **NUNCA use o mesmo secret em desenvolvimento e produção!** --- ## 📁 ESTRUTURA DE ARQUIVOS Após criar o `.env`, sua estrutura ficará: ``` sgse-app/ ├── packages/ │ └── backend/ │ ├── convex/ │ │ ├── auth.ts ✅ (já está preparado) │ │ └── ... │ ├── .env ✅ (você vai criar este!) │ ├── .env.example (opcional) │ └── package.json └── ... ``` --- ## 🔒 SEGURANÇA - .gitignore Verifique se o `.env` está no `.gitignore` para não subir no Git: ```powershell # Verificar se .env está ignorado cd packages\backend type .gitignore | findstr ".env" ``` Se NÃO aparecer `.env` na lista, adicione: ``` # No arquivo packages/backend/.gitignore .env .env.local .env.*.local ``` --- ## ✅ CHECKLIST - [ ] Parei os servidores (Convex e Web) - [ ] Criei o arquivo `.env` em `packages/backend/` - [ ] Adicionei `BETTER_AUTH_SECRET` no `.env` - [ ] Adicionei `SITE_URL` no `.env` - [ ] Salvei o arquivo `.env` - [ ] Reiniciei o Convex (`bunx convex dev`) - [ ] Reiniciei o Web (`bun run dev`) - [ ] Verifiquei que os erros pararam - [ ] Confirmei que `.env` está no `.gitignore` --- ## 🆘 PROBLEMAS COMUNS ### **"As variáveis não estão sendo carregadas"** 1. Verifique se o arquivo se chama exatamente `.env` (com o ponto no início) 2. Verifique se está na pasta `packages/backend/` 3. Certifique-se de ter reiniciado o Convex após criar o arquivo ### **"Ainda vejo os erros"** 1. Pare o Convex completamente (Ctrl+C) 2. Aguarde 5 segundos 3. Inicie novamente: `bunx convex dev` 4. Se persistir, verifique se não há erros de sintaxe no `.env` ### **"O arquivo .env não aparece no VS Code"** - Arquivos que começam com `.` ficam ocultos por padrão - No VS Code: Vá em File → Preferences → Settings - Procure por "files.exclude" - Certifique-se que `.env` não está na lista de exclusão --- ## 📞 RESUMO RÁPIDO **O que fazer AGORA:** 1. ✅ Criar arquivo `packages/backend/.env` 2. ✅ Adicionar as 2 variáveis (secret e URL) 3. ✅ Reiniciar Convex e Web 4. ✅ Verificar que erros sumiram **Tempo:** 2 minutos **Dificuldade:** ⭐ Muito Fácil **Quando for para produção:** - Gerar novo secret específico - Atualizar SITE_URL com URL real - Configurar variáveis no servidor de produção --- **Pronto! Esta é a configuração correta para Convex Local! 🚀**