Pular para o conteúdo principal

Onboarding — novo desenvolvedor

Última atualização: 16/09/2026.

Objetivo: no primeiro dia você sobe o AMPLIA, entende o mapa mental e faz uma alteração segura (docs ou flag). Sem acesso a produção no dia 1.

Dia 0 — acessos

Peça ao time:

  • clone do repositório (Develop);
  • usuário local (após seed) ou dump mascarado de HML — nunca dump de prod;
  • tokens HML de Movingpay (não prod);
  • convite ao canal de SECURITY.md.

Leia, nesta ordem:

  1. README
  2. mapa-dominio-gevtech.md
  3. arquitetura.md
  4. CONTRIBUTING.md
  5. Este arquivo e setup.md

Dia 1 — ambiente

Siga setup.md até o smoke test (health.php + login).

Confirme:

  • CSS compilado (npm run build:css);
  • um White Label de teste e um usuário representante (para ver o recorte de dados diferente do super-admin);
  • MOVINGPAY_TOKEN_USAGE_*=HML se for bater em API externa.

Mapa mental em 10 minutos

  • Não é Laravel. Cada tela e cada API são arquivos PHP.
  • Tenant = White Label. Super-admin vê tudo (white_label_id nulo).
  • Permissão = flag + escopo do WL. A UI mente; a API manda.
  • SQL no serviço. Endpoint fino, serviço gordo.
  • Precificação tem dois modelos (custo efetivo e MDR) e três níveis (padrão, usuário, White Label) com herança.
  • Estabelecimento é o módulo mais pesado: cadastro local, remoto (adquirente), documentos, KYC, painel user_ec.

Onde mexer:

Quero mudarPasta
Telafrontend/pages/<modulo>/ + CSS/JS em assets/
Menucomponents/menu-lateral.php
Endpointbackend/api/<modulo>/
Regra / SQLbackend/src/services/<modulo>/
Integraçãobackend/src/integrations/
Schemadatabase/migrations/

Exercício guiado (não mergear)

  1. Abra backend/api/auth/permissoes.php e veja o bootstrap.
  2. No browser logado, chame o mesmo endpoint e compare o hash com o que assets/js/cp-permissions-live.js usa.
  3. Crie um lead (se o módulo Comercial estiver ligado no tenant) e um estabelecimento em rascunho.
  4. Troque de usuário para um representante e confirme que a listagem encolhe.

Primeiro PR

Prefira docs/ ou uma correção localizada. Branch feat|fix|docs/... a partir de Develop. Template em .github/PULL_REQUEST_TEMPLATE.md.

Se for endpoint novo: registre em api/endpoints.md e na matriz de permissões.

O que não fazer no começo

  • Apontar .env local para o MySQL de produção.
  • Commitar vendor/ extra, .env, JSON de Drive ou dump.
  • Desligar CSRF / assert_can para “ver se passa”.
  • Rodar tools/migrate_schema_to_portal_gevtech.php sem o dono do banco.
  • Confiar só no menu lateral para autorização.

Ajuda

  • Logs: backend/logs/<modulo>/YYYY-MM-DD.log e tabela backend_api_logs.
  • Flow log: FLOW_LOG_STDERR=compact no .env.
  • Runbook quando algo “some”: runbooks.md.