sistema-de-chamados/README.md

3.3 KiB
Raw Blame History

Sistema de Chamados

Aplicação Next.js 15 com Convex e Better Auth para gestão de tickets da Rever. Todo o código-fonte está organizado diretamente na raiz do repositório, conforme convenções do Next.js.

Requisitos

  • Node.js >= 20
  • pnpm >= 8
  • CLI do Convex (pnpm dlx convex dev instalará automaticamente no primeiro uso)

Configuração rápida

  1. Instale as dependências:
    pnpm install
    
  2. Ajuste o arquivo .env (ou crie a partir de .env.example) e confirme os valores de:
    • NEXT_PUBLIC_CONVEX_URL (gerado pelo Convex Dev)
    • BETTER_AUTH_SECRET, BETTER_AUTH_URL, DATABASE_URL
  3. Aplique as migrações e gere o client Prisma:
    pnpm prisma migrate deploy
    pnpm prisma:generate
    
  4. Popule usuários padrão do Better Auth:
    pnpm auth:seed
    
  5. (Opcional) Para re-sincronizar manualmente as filas padrão, execute:
    pnpm queues:ensure
    
  6. Em um terminal, execute o backend em tempo real do Convex:
    pnpm convex:dev
    
  7. Em outro terminal, suba o frontend Next.js:
    pnpm dev
    
  8. Com o Convex ativo, acesse http://localhost:3000/dev/seed uma vez para popular dados de demonstração (tickets, usuários, comentários) diretamente no banco do Convex.

Se o CLI perguntar sobre configuração do projeto Convex, escolha criar um novo deployment local (opção padrão) e confirme. As credenciais são armazenadas em .convex/ automaticamente.

Deploy em produção (Traefik + Convex selfhosted)

  • Guia completo: docs/OPERACAO-PRODUCAO.md:1.
  • Histórico de setup/decisões: docs/SETUP-HISTORICO.md:1.
  • Stack Swarm: stack.yml:1 (roteado por Traefik, rede traefik_public).

Variáveis de ambiente

  • Exemplo na raiz: .env.example — copie para .env e preencha segredos.
  • App Desktop: apps/desktop/.env.example — copie para apps/desktop/.env e ajuste VITE_APP_URL.
  • Nunca faça commit de arquivos .env com valores reais (já ignorados em .gitignore).

Scripts úteis

  • pnpm lint — ESLint com as regras do projeto.
  • pnpm exec vitest run — suíte de testes unitários.
  • pnpm auth:seed — atualiza/cria contas padrão do Better Auth (credenciais em agents.md).
  • pnpm prisma migrate deploy — aplica migrações ao banco SQLite local.
  • pnpm convex:dev — roda o Convex em modo desenvolvimento, gerando tipos em convex/_generated.

Estrutura principal

  • app/ dentro de src/ — rotas e layouts do Next.js (App Router).
  • components/ — componentes reutilizáveis (UI, formulários, layouts).
  • convex/ — queries, mutations e seeds do Convex.
  • prisma/ — schema, migrações e banco SQLite (prisma/db.sqlite).
  • scripts/ — utilitários em Node para sincronização e seeds adicionais.
  • agents.md — guia operacional e contexto funcional (em PT-BR).
  • PROXIMOS_PASSOS.md — backlog de melhorias futuras.

Credenciais de demonstração

Após executar pnpm auth:seed, as credenciais padrão ficam disponíveis conforme descrito em agents.md (seção “Credenciais padrão”). Ajuste variáveis SEED_USER_* se precisar sobrepor usuários ou senhas durante o seed.

Próximos passos

Consulte PROXIMOS_PASSOS.md para acompanhar o backlog funcional e o progresso das iniciativas planejadas.