Pular para o conteúdo principal

Mapeamento de refatoracao do front dashboard

Data: 2026-07-28

Objetivo

Organizar o front do dashboard em uma arquitetura parecida com projetos modernos de front, mas adaptada para PHP server-rendered, mantendo compatibilidade com o backend novo em backend/ e sem criar chamadas ao legado.

Estado atual

O front esta distribuido principalmente em:

AreaSituacao atual
dashboard/Paginas PHP por modulo, muitas ainda monoliticas com HTML, CSS inline, JS inline e chamadas API misturadas.
components/Componentes compartilhados ja existentes, principalmente shell, menu lateral, list layout e popups.
assets/css/CSS global grande e arquivos por modulo, mas sem uma divisao clara entre base, layout, componentes e paginas.
assets/js/Scripts globais e scripts por funcionalidade, sem pastas por modulo.
public/Hoje contem apenas arquivo publico de modelo CSV de leads.

Pontos principais encontrados

ProblemaEvidenciaAjuste recomendado
Paginas PHP muito grandesdashboard/gestao/estabelecimentos_novo.php, dashboard/estabelecimentos/cadastro.php, dashboard/gestao/planos.php, dashboard/dashboard.php, dashboard/colaboradores/cadastrar.php.Separar em page controller, view, partials, JS de pagina e CSS de pagina.
JS inline demaisMuitas paginas contem <script> com AJAX, renderizacao de tabela, filtros e validacoes.Mover para frontend/src/pages/{modulo}/... ou assets/js/pages/{modulo}/....
CSS inline demaisVarias paginas possuem <style> grande, especialmente comercial, gestao e dashboard.Mover para frontend/src/assets/css/pages/{modulo}/....
Caminhos relativos variadosUso de ../backend/api, ../../backend/api, caminhos absolutos e fallback duplicado.Criar helper central de URLs no PHP e cliente API central no JS.
Chamadas API espalhadasfetch, $.ajax, $.getJSON, $.post direto nas paginas.Criar camada api/ no front para cada modulo.
Dependencias CDN repetidasjQuery, Toastr, Font Awesome, Tom Select, Chart.js repetidos por pagina.Centralizar carregamento no shell/layout e permitir extras por pagina.
Components ainda misturam assets e comportamentoPopups com JS e caminhos fixos para API/assets.Transformar popups em componentes PHP puros + scripts especificos por modulo.
Permissoes parcialmente centralizadasExiste cp-permissions-live.js e sessao, mas algumas paginas ainda verificam endpoints diretamente.Padronizar guard PHP no carregamento e permissao de UI via helper/session.
public/ subutilizadoApenas CSV de exemplo.Usar para arquivos realmente publicos/downloads estaticos, nao para codigo da app.

Arquitetura alvo sugerida

Como o projeto e PHP, recomendo criar uma pasta frontend/ na raiz e migrar aos poucos, mantendo dashboard/ como camada de rotas publicas inicialmente.

frontend/
api/
api_client.php
routes.php
assets/
css/
base/
layout/
components/
pages/
js/
core/
components/
pages/
services/
utils/
components/
layout/
ui/
modals/
tables/
forms/
config/
app.php
assets.php
modules.php
data/
menus.php
permissions.php
helpers/
asset_helper.php
route_helper.php
view_helper.php
permission_helper.php
includes/
bootstrap.php
head.php
scripts.php
pages/
dashboard/
comercial/
usuarios/
white-label/
estabelecimentos/
planos/
terminais/
financeiro/
compliance/
propostas/
services/
page_context_service.php
menu_service.php
permission_ui_service.php

Como ficaria o papel de cada pasta

PastaResponsabilidade
frontend/includesBootstrap do front, sessao, auth guard, head comum e scripts comuns.
frontend/configConfiguracao de base URL, assets, modulos, CDN/local libs e flags visuais.
frontend/helpersFuncoes pequenas de view: asset_url(), dashboard_url(), api_url(), escape HTML, active menu.
frontend/components/layoutShell, sidebar, topbar, layout de lista, layout de formulario.
frontend/components/uiBotoes, badges, cards, inputs, filtros, empty state, loading.
frontend/components/modalsModais reaproveitaveis sem regra de negocio pesada.
frontend/pagesViews por modulo. Cada pagina deve ter pouco PHP e pouco JS inline.
frontend/apiMapa de endpoints do backend novo para uso do front.
frontend/assets/js/servicesClientes JS por dominio: usuariosApi, whiteLabelApi, comercialApi.
frontend/assets/js/pagesCodigo JS especifico de uma tela.
frontend/assets/js/utilsMascaras, formatadores, request JSON, debounce, permissao UI.
publicArquivos estaticos publicos/downloads, como CSV modelo.

Tailwind CSS

Decisao inicial: manter Tailwind compilado localmente em assets/css/app.css.

Motivos:

  • O projeto usa resources/css/app.css com @tailwind, @layer components e regras customizadas do shell.
  • O projeto tambem usa DaisyUI via build local.
  • CDN depende de internet no ambiente do usuario e nao entrega a mesma previsibilidade de producao.
  • Build local permite minificacao, purge por arquivos reais e controle de versao do CSS gerado.

CDN pode existir como modo temporario de desenvolvimento em frontend/config/assets.php, mas nao deve ser o padrao do dashboard.

Base criada

Criado o esqueleto inicial em frontend/:

CaminhoFuncao
frontend/config/app.phpBase URL e caminhos principais.
frontend/config/assets.phpEstrategia de assets e modo Tailwind.
frontend/config/modules.phpCatalogo inicial de modulos do front.
frontend/helpers/*Helpers de URL, asset, view e permissoes.
frontend/api/routes.phpRotas nomeadas para o backend novo.
frontend/includes/bootstrap.phpBootstrap do front com auth, db, csrf e contexto.
frontend/includes/head.phpRenderizacao comum de CSS.
frontend/includes/scripts.phpContexto JS e scripts core.
frontend/components/layout/dashboard_shell.phpWrapper inicial do shell do dashboard.
frontend/assets/js/core/http.jsCliente HTTP central com fetch e JSON.
frontend/assets/js/core/csrf.jsInstalador central de CSRF para fetch/jQuery.
frontend/assets/js/core/permissions.jsHelpers de permissao no front e sync de data-permission.

Tambem foi atualizado tailwind.config.js para escanear frontend/**/*.php e frontend/assets/js/**/*.js.

Dashboard principal refatorado

Primeira refatoracao aplicada em dashboard/dashboard.php:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/dashboard.phpAuth, inicializacao do polling global, variaveis de sessao e carregamento da view.
View HTML/PHPfrontend/pages/dashboard/index.phpEstrutura visual, filtros, cards, graficos, tabela e modal.
API JSassets/js/pages/dashboard/dashboard-api.jsURLs e metodos de requisicao do dashboard.
Page JSassets/js/pages/dashboard/dashboard-page.jsRenderizacao dinamica, eventos, graficos, filtros, exportacao e modal.

Resultado: dashboard/dashboard.php deixou de carregar milhares de linhas de JavaScript inline e passou a ser uma entrada pequena para a pagina.

Usuarios iniciado

Primeira refatoracao aplicada na listagem de usuarios:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/colaboradores/correspondente_ativo.phpAuth, configuracao do layout de lista e carregamento da view nova.
View HTML/PHPfrontend/pages/usuarios/lista.phpEstrutura visual da lista, filtros, modais e includes compartilhados.
API JSassets/js/pages/usuarios/usuarios-api.jsURLs e helpers de endpoints do modulo de usuarios.
Page JSassets/js/pages/usuarios/usuarios-lista.jsTabela, eventos, filtros, status, exclusao, edicao e link externo.

Resultado: a URL publica antiga continua funcionando, mas a tela principal de usuarios saiu do arquivo monolitico e passou a seguir a estrutura nova.

Segunda refatoracao aplicada no cadastro de usuarios:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/colaboradores/cadastrar.phpAuth, contexto de tema/embed e carregamento da view nova.
View HTML/PHPfrontend/pages/usuarios/cadastro.phpFormulario em etapas, modo embed, estrutura visual e contexto inicial seguro.
API JSassets/js/pages/usuarios/usuarios-cadastro-api.jsURLs e helpers dos endpoints usados no cadastro e simulacao de taxas.
Page JSassets/js/pages/usuarios/usuarios-cadastro.jsMascaras, validacoes, wizard, calculo de taxas, white labels e envio do cadastro.

Resultado: o cadastro usado direto e via iframe/modal continua na mesma URL, mas o JavaScript saiu do PHP e as chamadas HTTP ficaram centralizadas.

Terceira refatoracao aplicada na geracao de links de indicacao:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/colaboradores/indique.phpAuth, tema e carregamento da view nova.
View HTML/PHPfrontend/pages/usuarios/indique.phpTela de geracao/copia de link e contexto inicial seguro.
Page JSassets/js/pages/usuarios/usuarios-indique.jsRegras de UI para nivel permitido, geracao de token local e copia do link.

Resultado: a tela de indicacao tambem manteve a URL antiga, mas saiu do padrao monolitico e deixou de usar URL base hardcoded no JavaScript.

White Label refatorado

Refatoracao aplicada nas rotas publicas de dashboard/white_label:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/white_label/*.phpAuth, permissoes, preparacao de dados server-side e carregamento das views novas.
Views HTML/PHPfrontend/pages/white-label/*.phpEstrutura visual das telas de listagem, cadastro, escopo e gestao de taxas.
API JSassets/js/pages/white-label/white-label-api.jsMapa unico de endpoints e assets usados pelo modulo White Label.
Page JSassets/js/pages/white-label/white-label-lista.jsListagem, modais, status, edicao, exclusao e gestao rapida de taxas.
Page JSassets/js/pages/white-label/white-label-cadastro.jsWizard de cadastro, validacoes, bancos, CEP, CNPJ, MCC/CNAE, taxas e escopo.
Page JSassets/js/pages/white-label/white-label-escopo.jsBusca e salvamento do escopo de permissoes delegaveis por White Label.
Page JSassets/js/pages/white-label/white-label-gestao-taxas*.jsFluxos especificos de gestao/criacao de taxas por White Label.
CSS por paginaassets/css/pages/white-label/*.cssEstilos antes inline das telas de listagem, cadastro e taxas.

Resultado: as URLs antigas continuam funcionando, mas o modulo White Label agora segue a arquitetura de front nova. As chamadas JavaScript para backend ficam centralizadas em white-label-api.js; formularios HTML que usam action continuam apontando somente para o backend novo.

Terminais refatorado

Refatoracao aplicada nas rotas publicas de terminais em dashboard/gestao:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/gestao/terminais_novo.php, terminais.php, cadastrar_terminal.php, cadastrar_terminal_lote.phpAuth, permissoes, contexto de white label/embed e carregamento das views novas.
Views HTML/PHPfrontend/pages/terminais/*.phpEstrutura visual de listagem local, listagem remota, cadastro individual e cadastro em lote.
API JSassets/js/pages/terminais/terminais-api.jsMapa unico de endpoints do modulo de terminais.
Page JSassets/js/pages/terminais/terminais-lista.jsListagem local, filtros, detalhes, edicao e exclusao.
Page JSassets/js/pages/terminais/terminais-cadastro-modal.jsModal/iframe de cadastro usado pela listagem principal.
Page JSassets/js/pages/terminais/terminais-cadastro.jsCadastro individual, vinculo opcional de usuario e envio ao backend novo.
Page JSassets/js/pages/terminais/terminais-cadastro-lote.jsCadastro em lote, importacao CSV, validacao e envio ao backend novo.
Page JSassets/js/pages/terminais/terminais-lista-remotos.jsListagem remota antiga baseada em listar-remotos.php.
CSS por paginaassets/css/pages/terminais/*.cssEstilos antes inline das listagens.

Resultado: as URLs antigas continuam funcionando, inclusive os cadastros em modo ?embed=1, mas a regra de front saiu dos PHPs e as chamadas JavaScript para backend ficam centralizadas em terminais-api.js.

Planos refatorado

Refatoracao aplicada nas rotas publicas de planos e taxas em dashboard/gestao:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/gestao/planos.php, cadastro_planos.php, gestao_taxas.php, taxas_padrao.phpAuth, permissoes, dados iniciais e carregamento das views novas.
Views HTML/PHPfrontend/pages/planos/*.phpEstrutura visual da listagem, cadastro, gestao de taxas e taxas padrao.
API JSassets/js/pages/planos/planos-api.jsMapa unico de endpoints de planos, gestao de taxas e taxas de usuarios usadas no modulo.
Page JSassets/js/pages/planos/planos-lista.jsDetalhes, exclusao, modal de cadastro, edicao popup e visualizacao CET.
Page JSassets/js/pages/planos/planos-cadastro.jsWizard de cadastro, validacao de taxas CET/debito, carregamento de taxas do usuario e envio ao backend novo.
Page JSassets/js/pages/planos/gestao-taxas.jsGestao administrativa de taxas por usuario, bandeira e modalidade MDR/CET.
Page JSassets/js/pages/planos/taxas-padrao.jsConsulta e alteracao das taxas padrao do sistema.
CSS por paginaassets/css/pages/planos/*.cssEstilos antes inline e CSS base do modulo concentrados na pasta de planos.
Backend APIbackend/api/gestao-taxas/*.phpEndpoints finos para gestao de taxas por usuario, MDR e taxas padrao.
Backend servicesbackend/src/services/planos/rates/gestao_taxas_service.php, taxas_padrao_service.phpRegras de escopo por white label, validacao, persistencia e auditoria de taxas.

Resultado: a URL publica antiga continua funcionando, mas o modulo de planos saiu do padrao monolitico. As chamadas JavaScript para backend ficam centralizadas em planos-api.js.

Compliance refatorado

Refatoracao aplicada na rota publica dashboard/compliance/index.php:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/compliance/index.phpAuth, contexto visual, configuracao de layout e carregamento da view nova.
View HTML/PHPfrontend/pages/compliance/index.phpEstrutura visual da listagem, filtros, modais e popup compartilhado de estabelecimento.
API JSassets/js/pages/compliance/compliance-api.jsMapa unico de endpoints de compliance e detalhes de estabelecimentos usados na tela.
Page JSassets/js/pages/compliance/compliance-page.jsListagem, filtros, analise de documentos, status, anotacoes e detalhes do estabelecimento.
CSS por paginaassets/css/pages/compliance/*.cssEstilos do compliance e modal de estabelecimento concentrados na pasta do modulo.

Resultado: compliance manteve a URL publica antiga, mas saiu do arquivo monolitico. O JavaScript da pagina nao chama config/ legado e os endpoints ficam centralizados em compliance-api.js.

Propostas refatorado

Refatoracao aplicada nas rotas publicas de propostas:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/propostas/propostas.php, cadastrar_cliente.php, credenciamentos.php, dashboard/simuladores/proposta_taxa.phpAuth/contexto e carregamento das views novas, mantendo URLs antigas.
Views HTML/PHPfrontend/pages/propostas/*.phpListagem de propostas, cadastro legado, credenciamentos e simulador/nova proposta.
API JSassets/js/pages/propostas/propostas-api.jsMapa unico de endpoints de propostas, simulador, representantes, credenciamento e ViaCEP.
Page JSassets/js/pages/propostas/propostas-lista.jsListagem, filtros, detalhes, edicao, exclusao e troca de representante.
Page JSassets/js/pages/propostas/propostas-cadastro.jsCadastro legado de proposta, consulta de taxas, MCC/CNAE, CEP e salvamento.
Page JSassets/js/pages/propostas/propostas-credenciamentos.jsListagem de credenciamentos, detalhes, arquivos, downloads e envio de e-mail.
Page JSassets/js/pages/propostas/propostas-simulador.jsFluxo de nova proposta, simulacao de taxas, modelo PDF e salvamento.
CSS por paginaassets/css/pages/propostas/*.cssEstilos do modulo de propostas concentrados na pasta propria.

Resultado: as URLs publicas antigas continuam funcionando, inclusive dashboard/simuladores/proposta_taxa.php, mas a regra de front passou para frontend/pages/propostas e assets/js/pages/propostas.

Assinaturas refatorado

Refatoracao aplicada na rota publica de documentos/assinaturas:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/documentos/index.phpAuth, contexto visual, configuracao de layout e carregamento da view nova.
View HTML/PHPfrontend/pages/assinaturas/lista.phpEstrutura visual da listagem de documentos, filtros e modais de novo documento/arquivamento.
API JSassets/js/pages/assinaturas/assinaturas-api.jsMapa unico dos endpoints do backend novo em backend/api/assinaturas.
Page JSassets/js/pages/assinaturas/assinaturas-lista.jsListagem, filtros, envio de documento, download, arquivar/desarquivar e renderizacao da tabela.
CSS por paginaassets/css/pages/assinaturas/lista.cssEstilos da tela de documentos/assinaturas concentrados no modulo.
Backend API/Servicebackend/api/assinaturas/*.php, backend/src/services/assinaturas/signature_service.phpEndpoints ja finos e service centralizado para regras, integracao e logs do modulo.

Resultado: a URL publica antiga dashboard/documentos/index.php continua funcionando, mas o front do modulo saiu do PHP monolitico e passou a seguir a estrutura nova.

Financeiro refatorado

Refatoracao aplicada nas rotas publicas do modulo financeiro:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/financeiro/*.phpEntradas publicas antigas preservadas, agora apontando para views em frontend/pages/financeiro.
Views HTML/PHPfrontend/pages/financeiro/*.phpTelas de comissoes, alugueis, percentuais, graficos, comissoes de associados e clientes aprovados.
API JSassets/js/pages/financeiro/financeiro-api.jsMapa unico dos endpoints financeiros e filtros compartilhados.
Page JSassets/js/pages/financeiro/*.jsLogica de listagem, filtros, exportacao, detalhes, percentuais e clientes aprovados.
CSS por paginaassets/css/pages/financeiro/*.cssEstilos antes inline ou globais, concentrados no modulo financeiro.
Split JSassets/js/pages/financeiro/split/*.jsScripts especificos do submodulo Split de Pagamentos.
Backend API/Servicebackend/api/financeiro/**/*.php, backend/src/services/financeiro/**Endpoints ja finos e services centralizados para comissoes, alugueis, controle e APIs externas.

Resultado: o modulo financeiro manteve as URLs antigas, mas as principais telas sairam dos arquivos monoliticos. O submodulo Split tambem deixou de carregar os scripts maiores inline e passou a usar arquivos JS por tela.

Permissoes refatorado

Refatoracao aplicada no modulo de permissoes e no escopo por White Label:

CamadaCaminhoResponsabilidade
Controller PHPdashboard/permissoes/permissoes_usuarios.phpAuth, guard de permissao, CSRF, configuracao visual e carregamento da view nova.
View HTML/PHPfrontend/pages/permissoes/usuarios.phpTela de gestao de permissoes por usuario, formulario e contexto CSRF minimo.
API JSassets/js/pages/permissoes/permissoes-api.jsMapa unico de endpoints de permissoes e escopo White Label.
Page JSassets/js/pages/permissoes/permissoes-usuarios.jsBusca de usuarios, renderizacao de permissoes delegaveis, selecao em massa e salvamento.
Escopo WLdashboard/white_label/escopo_permissoes.php + frontend/pages/white-label/escopo-permissoes.phpTela de configuracao das permissoes delegaveis por White Label.
Page JS escopo WLassets/js/pages/white-label/white-label-escopo.jsCarregamento e salvamento do escopo de permissoes por White Label.
CSS compartilhadoassets/css/pages/permissoes/permissoes-list.cssEstilos usados pela gestao de permissoes e pelo escopo de White Label.

Resultado: permissoes de usuario e escopo via White Label seguem a estrutura nova, sem chamadas a config/ legado no front refatorado.

Estabelecimentos Comerciais refatorado

Refatoracao aplicada nas rotas publicas de estabelecimentos comerciais:

CamadaCaminhoResponsabilidade
Controllers PHPdashboard/gestao/estabelecimentos_novo.php, dashboard/gestao/estabelecimentos.php, dashboard/estabelecimentos/cadastro.php, dashboard/estabelecimentos/index.phpAuth/contexto e carregamento das views novas, mantendo as URLs antigas.
Views HTML/PHPfrontend/pages/estabelecimentos/*.phpEstrutura visual de listagem local, listagem remota, cadastro e exemplo de credenciamento.
API JSassets/js/pages/estabelecimentos/estabelecimentos-api.jsMapa unico de endpoints usados pelo modulo de estabelecimentos.
Page JSassets/js/pages/estabelecimentos/estabelecimentos-lista.jsListagem local, filtros, detalhes, planos, terminais, documentos, compliance e troca de representante.
Page JSassets/js/pages/estabelecimentos/estabelecimentos-cadastro.jsWizard de cadastro, validacoes, bancos, CEP, CNPJ, MCC/CNAE, taxas e envio ao backend novo.
Page JSassets/js/pages/estabelecimentos/estabelecimentos-cadastro-modal.jsAbertura do cadastro em modal/iframe pela listagem principal.
Page JSassets/js/pages/estabelecimentos/estabelecimentos-lista-remotos.jsListagem remota antiga baseada no endpoint novo de estabelecimentos remotos.
Page JSassets/js/pages/estabelecimentos/credenciamento-exemplo.jsGerador local de payload do exemplo de credenciamento.
CSS por paginaassets/css/pages/estabelecimentos/*.cssEstilos antes inline das telas de listagem e exemplo.

Resultado: estabelecimentos comerciais passou para a arquitetura nova do front sem chamar config/ legado. O arquivo dashboard/estabelecimentos/credenciamento.html, que duplicava index.php, virou redirecionamento simples para evitar duas copias da mesma tela.

Estrategia sem quebrar URLs atuais

Manter as URLs atuais em dashboard/... como entrada publica e fazer cada arquivo virar uma casca fina:

<?php
require_once __DIR__ . '/../../frontend/includes/bootstrap.php';
frontend_render_page('usuarios/lista', [
'title' => 'Usuarios',
'permission' => 'usuarios.read',
]);

Assim o navegador continua acessando dashboard/colaboradores/correspondente_ativo.php, mas o codigo real passa a morar em frontend/pages/usuarios/lista.php.

Prioridade de refatoracao

  1. Criar base do frontend/: bootstrap, helpers de URL/assets, shell e loader de paginas.
  2. Migrar componentes existentes: components/cp_dashboard_shell.php, components/cp_list_layout.php, components/menu-lateral.php e popups.
  3. Criar cliente JS central: frontend/assets/js/core/http.js, frontend/assets/js/core/csrf.js, frontend/assets/js/core/permissions.js.
  4. Organizar assets por modulo: comercial, usuarios, white-label, estabelecimentos, planos, terminais, financeiro, compliance, propostas.
  5. Refatorar primeiro paginas com menor risco: permissoes, documentos, compliance, comercial.
  6. Refatorar paginas grandes por partes: estabelecimentos_novo.php, cadastro.php, planos.php, dashboard.php, colaboradores/cadastrar.php.
  7. No fim, trocar os arquivos de dashboard/ por wrappers pequenos ou rotas centralizadas.

Ordem sugerida por modulo

OrdemModuloMotivo
1ComercialNovo, isolado e com telas recentes; bom para definir padrao.
2PermissoesCritico, pequeno e ja parcialmente organizado.
3Documentos/assinaturasTela unica, bom para validar shell e API client.
4ComplianceJa usa layout comum, mas tem JS inline relevante.
5UsuariosImportante e com nome legado colaboradores; precisa padronizar nomenclatura.
6White labelsTem muitos modais e gestao de taxas; exige componentes melhores.
7Terminais e planosCompartilham gestao de taxas, vinculos e cadastros.
8EstabelecimentosMaior complexidade; deixar para quando a base estiver firme.
9FinanceiroMuitas subareas; migrar por submodulo.
10Dashboard principalArquivo grande, muitos graficos e polling; refatorar por widgets.

Regras de organizacao para novas telas

  • Nenhuma pagina nova deve chamar config/ ou _config_legacy_disabled/.
  • Toda chamada HTTP do JS deve passar por cliente API central.
  • Toda URL de asset/API deve ser gerada por helper, nunca por string relativa solta quando estiver em PHP.
  • CSS inline so para variavel dinamica pequena; layout/estilo deve ir para arquivo.
  • JS inline so para passar contexto inicial seguro do PHP para o browser.
  • Componentes PHP nao devem decidir regra de negocio pesada; devem receber dados/contexto.
  • Paginacao, filtros e tabela devem usar componentes padronizados.

Arquivos atuais que devem virar base

AtualDestino sugerido
components/cp_dashboard_shell.phpfrontend/components/layout/dashboard_shell.php
components/cp_list_layout.phpfrontend/components/layout/list_layout.php
components/menu-lateral.phpfrontend/components/layout/sidebar.php
components/cp_loading_assets.phpfrontend/components/ui/loading_assets.php
components/cp_design_system_assets.phpfrontend/includes/design_system_assets.php
assets/js/cp-permissions-live.jsfrontend/assets/js/core/permissions-live.js
assets/js/cp-loading.jsfrontend/assets/js/core/loading.js
assets/js/cp-table.jsfrontend/assets/js/components/table.js
assets/js/dashboard.jsdividir entre core/shell.js e pages/dashboard/*.js
assets/js/gestao.jsdividir por planos, terminais, estabelecimentos
assets/js/comercial-pages.jsdividir por pagina comercial

Observacao importante

O dashboard/ pode continuar existindo como rota publica durante a migracao. O que precisa sumir aos poucos e a responsabilidade de carregar regra, layout, CSS e JS diretamente em cada arquivo.