sistema-de-chamados/docs/LOCAL-DEV.md
rever-tecnologia 6e8a6fe890 feat(checklist): exibe descricao do template e do item no ticket
- 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>
2025-12-16 09:45:09 -03:00

4.9 KiB

Desenvolvimento Local

Guia para rodar o projeto localmente conectando aos dados de producao.

Pre-requisitos

  • Bun 1.3+
  • Docker (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.

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:

docker ps | grep postgres-chamados

Para parar/iniciar posteriormente:

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:

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

bun install

4. Gerar cliente Prisma e aplicar schema

bun run prisma:generate
bunx prisma db push

5. Criar usuarios de desenvolvimento

O seed cria usuarios locais para autenticacao:

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

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:

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:

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:

DATABASE_URL="postgresql://postgres:dev@localhost:5432/sistema_chamados" bun tsx scripts/seed-auth.mjs

Limpar banco e recriar

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