fix: improve role assignment logic and permission handling in dashboard components
This commit is contained in:
259
CONFIGURAR_LOCAL.md
Normal file
259
CONFIGURAR_LOCAL.md
Normal file
@@ -0,0 +1,259 @@
|
||||
# 🔐 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! 🚀**
|
||||
|
||||
Reference in New Issue
Block a user