Sistema de Chamados - Mirror do GitHub
Find a file
rever-tecnologia b7e2c4cc98
All checks were successful
CI/CD Web + Desktop / Detect changes (push) Successful in 6s
CI/CD Web + Desktop / Deploy (VPS Linux) (push) Successful in 3m53s
CI/CD Web + Desktop / Deploy Convex functions (push) Has been skipped
Quality Checks / Lint, Test and Build (push) Successful in 4m13s
Exibe status de reprovisionamento quando token é revogado
2025-12-18 16:12:48 -03:00
.claude fix: corrige acentuacao e melhora UX de softwares 2025-12-18 08:23:16 -03:00
.forgejo/workflows fix(ci): deploy atomico no Forgejo (symlink) 2025-12-17 01:44:00 -03:00
.github/workflows.disabled chore: desativa GitHub Actions e adiciona docs de setup 2025-12-16 22:43:14 -03:00
apps/desktop fix(desktop): corrige navegacao ao resetar dispositivo 2025-12-18 14:08:56 -03:00
components/shadcn-studio/input feat: cadastro manual de acesso remoto e ajustes de horas 2025-10-24 23:52:58 -03:00
convex feat(automations): historico expandivel com detalhes das acoes 2025-12-18 10:51:37 -03:00
docs docs: adiciona instrucoes para repositorio privado 2025-12-16 23:18:31 -03:00
emails fix(email): usa TicketCardLegacy no automation-email 2025-12-17 14:00:20 -03:00
forgejo fix(ci): usa queue channel em vez de leveldb para evitar lock 2025-12-16 22:16:27 -03:00
Inter,Manrope/Inter fix(ci/windows): remove NTFS Zone.Identifier ADS artifacts from fonts and ignore future additions; move Tauri updater config under plugins (v2 schema), bump to 0.1.5 2025-10-10 21:42:35 -03:00
prisma Adiciona endpoint de arquivamento e ajustes de infra 2025-12-11 13:25:36 -03:00
public fix: avoid broken font and speed up backlog overview 2025-10-30 14:42:09 -03:00
scripts docs: adiciona instrucoes para repositorio privado 2025-12-16 23:18:31 -03:00
scripts-static fix(convex): mover cron jobs para API HTTP + crontab do Linux 2025-12-10 08:51:32 -03:00
src Exibe status de reprovisionamento quando token é revogado 2025-12-18 16:12:48 -03:00
tests feat(tickets): adiciona menu dedicado para Visitas na sidebar 2025-12-17 16:20:09 -03:00
types Update Prisma and harden tests 2025-11-08 00:28:52 -03:00
.env.example feat(checklist): exibe descricao do template e do item no ticket 2025-12-16 09:45:09 -03:00
.gitignore fix(checklist): corrige acentuação e adiciona modal de exclusão 2025-12-15 16:35:58 -03:00
agents.md feat: melhorias de UX e redesign de comentários 2025-12-15 22:05:27 -03:00
auth.ts chore: reorganize project structure and ensure default queues 2025-10-06 22:59:35 -03:00
build.log chore: reorganize project structure and ensure default queues 2025-10-06 22:59:35 -03:00
bun.lock feat(desktop): implementa Convex React subscriptions para chat em tempo real 2025-12-15 23:40:34 -03:00
bunfig.toml Switch workflows to Bun install/test and update pnpm 2025-11-04 23:21:41 -03:00
codex_ed25519 feat(filters): usar filtro por responsável no servidor (assigneeId)\n\nci: tocar convex/tickets para forçar deploy das funções 2025-10-20 16:07:54 -03:00
codex_ed25519.pub feat(filters): usar filtro por responsável no servidor (assigneeId)\n\nci: tocar convex/tickets para forçar deploy das funções 2025-10-20 16:07:54 -03:00
components.json fix(reports): remove truncation cap in range collectors to avoid dropped records 2025-11-04 11:51:08 -03:00
Dockerfile.prod chore: atualiza Bun para versao 1.3.4 2025-12-16 23:55:57 -03:00
eslint.config.mjs fix(lint): ignora arquivos gerados do Convex no desktop 2025-12-16 09:49:40 -03:00
next.config.ts Redesenho da UI de dispositivos e correcao de VRAM 2025-12-06 17:01:40 -03:00
package.json feat(checklist): adiciona tipo pergunta e descricao nos itens 2025-12-15 16:27:23 -03:00
postcss.config.mjs chore: reorganize project structure and ensure default queues 2025-10-06 22:59:35 -03:00
prisma.config.ts Adiciona endpoint de arquivamento e ajustes de infra 2025-12-11 13:25:36 -03:00
proxy.ts refactor: align routes with next 16 and local fonts 2025-10-22 02:08:18 -03:00
README.md Adiciona endpoint de arquivamento e ajustes de infra 2025-12-11 13:25:36 -03:00
reports-machines-filters-issue.svg Adjust reports filters layout and date range picker 2025-11-18 23:02:58 -03:00
resp.json feat(desktop/ui): force light theme for readability in Tauri; strengthen contrast for card/input/alerts; add inventory summary cards 2025-10-10 00:18:39 -03:00
stack.yml Adiciona endpoint de arquivamento e ajustes de infra 2025-12-11 13:25:36 -03:00
tsconfig.json Upgrade Prisma to v7 2025-11-19 13:24:08 -03:00
vitest.config.mts fix(avatar): sincroniza avatar apos atualizar 2025-12-17 10:38:07 -03:00
vitest.setup.node.ts fix(avatar): sincroniza avatar apos atualizar 2025-12-17 10:38:07 -03:00

Sistema de Chamados

Aplicacao Next.js 16 (App Router) com React 19, Convex e Better Auth para gestao de tickets da Rever. A stack ainda inclui Prisma 7 (PostgreSQL), Tailwind e Turbopack como bundler padrao (webpack permanece disponivel como fallback). Todo o codigo-fonte fica na raiz do monorepo seguindo as convencoes do App Router.

Requisitos

  • Bun >= 1.3 (recomendado 1.3.1). Após instalar via script oficial, adicione export PATH="$HOME/.bun/bin:$PATH" ao seu shell (ex.: .bashrc) para ter bun disponível globalmente.
  • Node.js >= 20 (necessário para ferramentas auxiliares como Prisma CLI e Next.js em modo fallback).
  • CLI do Convex (bunx convex dev instalará automaticamente no primeiro uso, se ainda não estiver presente).
  • GitHub Actions/autodeploy dependem dessas versões e do CLI do Convex disponível; use npx convex --help para confirmar.

Configuração rápida

  1. Instale as dependências:
    bun 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 (PostgreSQL, ex: postgresql://postgres:dev@localhost:5432/sistema_chamados)
  3. Aplique as migrações e gere o client Prisma:
    bunx prisma migrate deploy
    bun run prisma:generate
    
  4. Popule usuários padrão do Better Auth:
    bun run auth:seed
    

    Sempre que trocar de máquina ou quiser “zerar” o ambiente local, basta repetir os passos 3 e 4 com a mesma DATABASE_URL.

Resetar rapidamente o ambiente local

  1. Suba um PostgreSQL local (Docker recomendado):
    docker run -d --name postgres-dev -p 5432:5432 -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=sistema_chamados postgres:18
    
  2. Aplique as migracoes:
    bunx prisma migrate deploy
    
  3. Recrie/garanta as contas padrao de login:
    bun run auth:seed
    
  4. Suba o servidor normalmente com bun run dev.

Subir serviços locais

  • (Opcional) Para re-sincronizar manualmente as filas padrão, execute bun run queues:ensure.
  • Em um terminal, rode o backend em tempo real do Convex com bun run convex:dev:bun (ou bun run convex:dev para o runtime Node).
  • Em outro terminal, suba o frontend Next.js (Turbopack) com bun run dev:bun (bun run dev:webpack serve como fallback).
  • Com o Convex rodando, acesse http://localhost:3000/dev/seed uma vez para popular dados de demonstração (tickets, usuários, comentários).

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.

Documentação

  • Índice de docs: docs/README.md
  • Operações (produção): docs/OPERATIONS.md (versão EN) e docs/OPERACAO-PRODUCAO.md (PT-BR)
  • Guia de DEV: docs/DEV.md
  • Testes automatizados (Vitest/Playwright): docs/testes-vitest.md
  • Stack Swarm: stack.yml (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).

Guia de DEV (Prisma, Auth e Desktop/Tauri)

Para fluxos detalhados de desenvolvimento — banco de dados local (PostgreSQL/Prisma), seed do Better Auth, ajustes do Prisma CLI no DEV e build do Desktop (Tauri) — consulte docs/DEV.md.

Scripts úteis

  • bun run dev:bun — padrão atual para o Next.js com runtime Bun (bun run dev:webpack permanece como fallback).
  • bun run convex:dev:bun — runtime Bun para o Convex (bun run convex:dev mantém o fluxo antigo usando Node).
  • bun run build:bun / bun run start:bun — build e serve com Bun usando Turbopack (padrão atual).
  • bun run dev:webpack — fallback do Next.js em modo desenvolvimento (webpack).
  • bun run lint — ESLint com as regras do projeto.
  • bun test — suíte de testes unitários usando o runner do Bun (o teste de screenshot fica automaticamente ignorado se o matcher não existir).
  • bun run build — executa next build --turbopack (runtime Node, caso prefira evitar o --bun).
  • bun run build:webpack — executa next build --webpack como fallback oficial.
  • bun run auth:seed — atualiza/cria contas padrao do Better Auth (credenciais em agents.md).
  • bunx prisma migrate deploy — aplica migracoes ao banco PostgreSQL.
  • bun run convex:dev — roda o Convex em modo desenvolvimento com Node, gerando tipos em convex/_generated.

Transferir dispositivo entre colaboradores

Quando uma dispositivo trocar de responsável:

  1. Abra Admin > Dispositivos, selecione o equipamento e clique em Resetar agente.
  2. No equipamento, execute o reset local do agente (rever-agent reset ou reinstale o serviço) e reprovisione com o código da empresa.
  3. Após o agente gerar um novo token, associe a dispositivo ao novo colaborador no painel.

Sem o reset de agente, o Convex reaproveita o token anterior e o inventário continua vinculado ao usuário antigo.

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 e migracoes do Prisma (PostgreSQL).
  • 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 bun run 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.

Executar com Bun

  • bun install é o fluxo padrão (o arquivo bun.lock deve ser versionado; use bun install --frozen-lockfile em CI).
  • bun run dev:bun, bun run convex:dev:bun, bun run build:bun e bun run start:bun já estão configurados; internamente executam bun run --bun <script> para usar o runtime do Bun sem abrir mão dos scripts existentes. O cross-env garante os valores esperados de NODE_ENV (development/production).
  • O bundler padrão é o Turbopack; se precisar comparar/debugar com webpack, use bun run build:webpack.
  • bun test utiliza o test runner do Bun. O teste de snapshot de screenshot é automaticamente ignorado quando o matcher não está disponível; testes de navegador completos continuam via bun run test:browser (Vitest + Playwright).

Diagnóstico de sessão da dispositivo (Desktop)

  • Quando o portal for aberto via app desktop, use a página https://seu-app/portal/debug para validar cookies e contexto:
    • /api/auth/get-session deve idealmente mostrar user.role = "machine" (em alguns ambientes WebView pode retornar null, o que não é bloqueante).
    • /api/machines/session deve retornar 200 com assignedUserId/assignedUserEmail.
  • O frontend agora preenche machineContext mesmo que get-session retorne null, e deriva o papel efetivo a partir desse contexto.
  • Se machines/session retornar 401/403, revise CORS/credenciais e o fluxo de handshake documentados em docs/OPERACAO-PRODUCAO.md.