- Adiciona campo templateDescription ao schema do checklist - Copia descricao do template ao aplicar checklist no ticket - Exibe ambas descricoes na visualizacao do ticket (template em italico) - Adiciona documentacao de desenvolvimento local (docs/LOCAL-DEV.md) - Corrige prisma-client.mjs para usar PostgreSQL em vez de SQLite 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
166 lines
4.9 KiB
Markdown
166 lines
4.9 KiB
Markdown
# Desenvolvimento Local
|
|
|
|
Guia para rodar o projeto localmente conectando aos dados de producao.
|
|
|
|
## Pre-requisitos
|
|
|
|
- [Bun](https://bun.sh/) 1.3+
|
|
- [Docker](https://www.docker.com/) (para PostgreSQL)
|
|
- Node.js 20+ (opcional, usado pelo tsx)
|
|
|
|
## 1. Subir o PostgreSQL
|
|
|
|
O sistema usa PostgreSQL para autenticacao (Better Auth). Os dados de tickets ficam no Convex.
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name postgres-chamados \
|
|
-p 5432:5432 \
|
|
-e POSTGRES_PASSWORD=dev \
|
|
-e POSTGRES_DB=sistema_chamados \
|
|
postgres:18
|
|
```
|
|
|
|
Para verificar se esta rodando:
|
|
|
|
```bash
|
|
docker ps | grep postgres-chamados
|
|
```
|
|
|
|
Para parar/iniciar posteriormente:
|
|
|
|
```bash
|
|
docker stop postgres-chamados
|
|
docker start postgres-chamados
|
|
```
|
|
|
|
## 2. Configurar variaveis de ambiente
|
|
|
|
O arquivo `.env.local` ja vem configurado para desenvolvimento local apontando para o Convex de producao:
|
|
|
|
```env
|
|
NODE_ENV=development
|
|
|
|
# URLs locais
|
|
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
BETTER_AUTH_URL=http://localhost:3000
|
|
|
|
# Convex de producao (dados reais)
|
|
NEXT_PUBLIC_CONVEX_URL=https://convex.esdrasrenan.com.br
|
|
CONVEX_INTERNAL_URL=https://convex.esdrasrenan.com.br
|
|
|
|
# PostgreSQL local (apenas autenticacao)
|
|
DATABASE_URL=postgresql://postgres:dev@localhost:5432/sistema_chamados
|
|
```
|
|
|
|
## 3. Instalar dependencias
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
## 4. Gerar cliente Prisma e aplicar schema
|
|
|
|
```bash
|
|
bun run prisma:generate
|
|
bunx prisma db push
|
|
```
|
|
|
|
## 5. Criar usuarios de desenvolvimento
|
|
|
|
O seed cria usuarios locais para autenticacao:
|
|
|
|
```bash
|
|
DATABASE_URL="postgresql://postgres:dev@localhost:5432/sistema_chamados" bun tsx scripts/seed-auth.mjs
|
|
```
|
|
|
|
### Credenciais padrao
|
|
|
|
| Usuario | Email | Senha | Role |
|
|
|---------------|----------------------|------------|-------|
|
|
| Administrador | `admin@sistema.dev` | `admin123` | admin |
|
|
| Agentes | `*@rever.com.br` | `agent123` | agent |
|
|
|
|
## 6. Iniciar o servidor de desenvolvimento
|
|
|
|
```bash
|
|
bun run dev:bun
|
|
```
|
|
|
|
Acesse: http://localhost:3000
|
|
|
|
## Arquitetura Local vs Producao
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ DESENVOLVIMENTO LOCAL │
|
|
├─────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ localhost:3000 (Next.js) │
|
|
│ │ │
|
|
│ ├──► PostgreSQL local (porta 5432) │
|
|
│ │ └── Autenticacao (Better Auth) │
|
|
│ │ └── Usuarios, sessoes, contas │
|
|
│ │ │
|
|
│ └──► convex.esdrasrenan.com.br (remoto) │
|
|
│ └── Dados de producao │
|
|
│ └── Tickets, empresas, filas, etc. │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Comandos uteis
|
|
|
|
| Comando | Descricao |
|
|
|---------|-----------|
|
|
| `bun run dev:bun` | Inicia servidor de desenvolvimento com Turbopack |
|
|
| `bun run build:bun` | Build de producao |
|
|
| `bun run lint` | Verificar codigo com ESLint |
|
|
| `bun test` | Rodar testes |
|
|
| `bunx prisma studio` | Interface visual do banco de dados |
|
|
|
|
## Solucao de problemas
|
|
|
|
### Erro de conexao com PostgreSQL
|
|
|
|
```
|
|
Error: P1001: Can't reach database server at localhost:5432
|
|
```
|
|
|
|
**Solucao:** Verifique se o container Docker esta rodando:
|
|
|
|
```bash
|
|
docker start postgres-chamados
|
|
```
|
|
|
|
### Erro de migracao (tipo DATETIME)
|
|
|
|
Se aparecer erro sobre tipo `DATETIME` ao rodar migrations, use `db push` em vez de `migrate`:
|
|
|
|
```bash
|
|
bunx prisma db push --accept-data-loss
|
|
```
|
|
|
|
### Usuario nao consegue logar
|
|
|
|
Os usuarios de autenticacao ficam no PostgreSQL local, nao no Convex. Rode o seed novamente:
|
|
|
|
```bash
|
|
DATABASE_URL="postgresql://postgres:dev@localhost:5432/sistema_chamados" bun tsx scripts/seed-auth.mjs
|
|
```
|
|
|
|
### Limpar banco e recriar
|
|
|
|
```bash
|
|
docker stop postgres-chamados
|
|
docker rm postgres-chamados
|
|
docker run -d --name postgres-chamados -p 5432:5432 -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=sistema_chamados postgres:18
|
|
bunx prisma db push
|
|
DATABASE_URL="postgresql://postgres:dev@localhost:5432/sistema_chamados" bun tsx scripts/seed-auth.mjs
|
|
```
|
|
|
|
## Proximos passos
|
|
|
|
- Para deploy em producao, consulte `docs/OPERACAO-PRODUCAO.md`
|
|
- Para configuracao de SMTP, consulte `docs/SMTP.md`
|
|
- Para testes automatizados, consulte `docs/testes-vitest.md`
|