SGEProduto · Domínio · Desenvolvimento
Repositório

technical-reference · in-progress

Configuração e bootstrap

Mapa dos arquivos que inicializam a aplicação e configuram autenticação, locale, filas, cache e rotas.

Este mapa descreve os pontos de entrada que não são Models, Helpers ou migrations, mas alteram o comportamento global do projeto.

Bootstrap

bootstrap/app.php

  • Define a raiz da aplicação.
  • Registra rotas web em routes/web.php e comandos em routes/console.php.
  • Registra o endpoint de health check /up.
  • Mantém middleware padrão no estado atual.
  • Renderiza exceções como JSON quando a rota é api/* ou quando a requisição espera JSON.

routes/console.php

Atualmente registra apenas o comando padrão inspire. Os comandos de domínio internships:sync-execution-status e internships:notify-projected-end estão planejados em Schedules; quando implementados, deverão rodar no APP_TIMEZONE, com onOneServer() e withoutOverlapping(), e serão acionados por php artisan schedule:run.

bootstrap/providers.php

Registra exatamente:

Autenticação

config/auth.php

ConfiguraçãoEstado atual
guard padrãoweb, driver session.
providerusers, driver eloquent, Model App\Models\User.
password brokerusers.
reset tablepassword_reset_tokens.
expiração/throttle60 minutos/60 segundos.
confirmaçãotimeout de 10800 segundos.

config/fortify.php

  • Guard web, broker users e username/e-mail email.
  • Lowercase de username ativado.
  • Redirecionamento pós-autenticação para /dashboard.
  • Views de login, confirmação, reset e solicitação de reset habilitadas.
  • Única feature habilitada atualmente: Features::resetPasswords().
  • Limiter de login aponta para FortifyServiceProvider.

Locale, data e moeda

config/app.php

Os defaults atuais do arquivo são UTC, USD, locale en, fallback en e Faker en_US. AppServiceProvider aplica esses valores no processo.

Cache, sessão e filas

  • config/cache.php: default database, usando cache/cache_locks da migration base de cache.
  • config/session.php: default database, tabela sessions, lifetime padrão de 120 minutos, serialização JSON.
  • config/queue.php: default database, tabela jobs, retry_after padrão de 90 segundos, after_commit = false.
  • Migration base de Jobs é a infraestrutura; tentativas de e-mail do domínio ficam em email_delivery_attempts.

Rotas existentes

routes/web.php possui:

  • / → view welcome, nome home;
  • /dashboard → view dashboard, protegida por auth, nome dashboard;
  • inclusão de routes/settings.php.

O Fortify registra as rotas de autenticação. As views atuais ficam em resources/views/pages/auth/.

Composer e autoload

composer.json:

  • PSR-4 App\ → app/;
  • factories e seeders com namespaces próprios;
  • testes em autoload-dev;
  • app/helpers.php carregado como arquivo global;
  • scripts lint:check, types:check, test, dev e setup.

Dependências de domínio:

  • phpoffice/phpword ainda não está no composer.json; será necessário para geração DOCX;
  • Helper — NumberToWordsHelper importa classes de brick/math, mas o pacote está ausente das dependências diretas do composer.json.

Checklist

  • Registrar Providers no bootstrap.
  • Configurar guard, provider, broker e views do Fortify.
  • Configurar cache, sessão e filas em banco.
  • Carregar funções globais pelo Composer.
  • Alinhar defaults de locale/moeda/timezone ao contexto brasileiro.
  • Definir after_commit dos Jobs antes de publicar eventos que dependam de transação.
  • Definir retry/backoff por tipo de Job.
  • Configurar e monitorar schedule:run por minuto em produção; validar lock compartilhado de onOneServer.
  • Confirmar rotas e middleware de cada módulo do SGE.
  • Criar testes de configuração crítica por ambiente.
  • Adicionar PHPWord/Brick Math e validar extensões PHP no setup, CI e produção.
  • Atualizar Ambiente de desenvolvimento com qualquer variável nova.

Relacionamentos