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:
| Area | Situacao 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
| Problema | Evidencia | Ajuste recomendado |
|---|---|---|
| Paginas PHP muito grandes | dashboard/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 demais | Muitas paginas contem <script> com AJAX, renderizacao de tabela, filtros e validacoes. | Mover para frontend/src/pages/{modulo}/... ou assets/js/pages/{modulo}/.... |
| CSS inline demais | Varias paginas possuem <style> grande, especialmente comercial, gestao e dashboard. | Mover para frontend/src/assets/css/pages/{modulo}/.... |
| Caminhos relativos variados | Uso 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 espalhadas | fetch, $.ajax, $.getJSON, $.post direto nas paginas. | Criar camada api/ no front para cada modulo. |
| Dependencias CDN repetidas | jQuery, 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 comportamento | Popups com JS e caminhos fixos para API/assets. | Transformar popups em componentes PHP puros + scripts especificos por modulo. |
| Permissoes parcialmente centralizadas | Existe 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/ subutilizado | Apenas 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
| Pasta | Responsabilidade |
|---|---|
frontend/includes | Bootstrap do front, sessao, auth guard, head comum e scripts comuns. |
frontend/config | Configuracao de base URL, assets, modulos, CDN/local libs e flags visuais. |
frontend/helpers | Funcoes pequenas de view: asset_url(), dashboard_url(), api_url(), escape HTML, active menu. |
frontend/components/layout | Shell, sidebar, topbar, layout de lista, layout de formulario. |
frontend/components/ui | Botoes, badges, cards, inputs, filtros, empty state, loading. |
frontend/components/modals | Modais reaproveitaveis sem regra de negocio pesada. |
frontend/pages | Views por modulo. Cada pagina deve ter pouco PHP e pouco JS inline. |
frontend/api | Mapa de endpoints do backend novo para uso do front. |
frontend/assets/js/services | Clientes JS por dominio: usuariosApi, whiteLabelApi, comercialApi. |
frontend/assets/js/pages | Codigo JS especifico de uma tela. |
frontend/assets/js/utils | Mascaras, formatadores, request JSON, debounce, permissao UI. |
public | Arquivos 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.csscom@tailwind,@layer componentse 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/:
| Caminho | Funcao |
|---|---|
frontend/config/app.php | Base URL e caminhos principais. |
frontend/config/assets.php | Estrategia de assets e modo Tailwind. |
frontend/config/modules.php | Catalogo inicial de modulos do front. |
frontend/helpers/* | Helpers de URL, asset, view e permissoes. |
frontend/api/routes.php | Rotas nomeadas para o backend novo. |
frontend/includes/bootstrap.php | Bootstrap do front com auth, db, csrf e contexto. |
frontend/includes/head.php | Renderizacao comum de CSS. |
frontend/includes/scripts.php | Contexto JS e scripts core. |
frontend/components/layout/dashboard_shell.php | Wrapper inicial do shell do dashboard. |
frontend/assets/js/core/http.js | Cliente HTTP central com fetch e JSON. |
frontend/assets/js/core/csrf.js | Instalador central de CSRF para fetch/jQuery. |
frontend/assets/js/core/permissions.js | Helpers 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/dashboard.php | Auth, inicializacao do polling global, variaveis de sessao e carregamento da view. |
| View HTML/PHP | frontend/pages/dashboard/index.php | Estrutura visual, filtros, cards, graficos, tabela e modal. |
| API JS | assets/js/pages/dashboard/dashboard-api.js | URLs e metodos de requisicao do dashboard. |
| Page JS | assets/js/pages/dashboard/dashboard-page.js | Renderizacao 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/colaboradores/correspondente_ativo.php | Auth, configuracao do layout de lista e carregamento da view nova. |
| View HTML/PHP | frontend/pages/usuarios/lista.php | Estrutura visual da lista, filtros, modais e includes compartilhados. |
| API JS | assets/js/pages/usuarios/usuarios-api.js | URLs e helpers de endpoints do modulo de usuarios. |
| Page JS | assets/js/pages/usuarios/usuarios-lista.js | Tabela, 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/colaboradores/cadastrar.php | Auth, contexto de tema/embed e carregamento da view nova. |
| View HTML/PHP | frontend/pages/usuarios/cadastro.php | Formulario em etapas, modo embed, estrutura visual e contexto inicial seguro. |
| API JS | assets/js/pages/usuarios/usuarios-cadastro-api.js | URLs e helpers dos endpoints usados no cadastro e simulacao de taxas. |
| Page JS | assets/js/pages/usuarios/usuarios-cadastro.js | Mascaras, 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/colaboradores/indique.php | Auth, tema e carregamento da view nova. |
| View HTML/PHP | frontend/pages/usuarios/indique.php | Tela de geracao/copia de link e contexto inicial seguro. |
| Page JS | assets/js/pages/usuarios/usuarios-indique.js | Regras 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/white_label/*.php | Auth, permissoes, preparacao de dados server-side e carregamento das views novas. |
| Views HTML/PHP | frontend/pages/white-label/*.php | Estrutura visual das telas de listagem, cadastro, escopo e gestao de taxas. |
| API JS | assets/js/pages/white-label/white-label-api.js | Mapa unico de endpoints e assets usados pelo modulo White Label. |
| Page JS | assets/js/pages/white-label/white-label-lista.js | Listagem, modais, status, edicao, exclusao e gestao rapida de taxas. |
| Page JS | assets/js/pages/white-label/white-label-cadastro.js | Wizard de cadastro, validacoes, bancos, CEP, CNPJ, MCC/CNAE, taxas e escopo. |
| Page JS | assets/js/pages/white-label/white-label-escopo.js | Busca e salvamento do escopo de permissoes delegaveis por White Label. |
| Page JS | assets/js/pages/white-label/white-label-gestao-taxas*.js | Fluxos especificos de gestao/criacao de taxas por White Label. |
| CSS por pagina | assets/css/pages/white-label/*.css | Estilos 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/gestao/terminais_novo.php, terminais.php, cadastrar_terminal.php, cadastrar_terminal_lote.php | Auth, permissoes, contexto de white label/embed e carregamento das views novas. |
| Views HTML/PHP | frontend/pages/terminais/*.php | Estrutura visual de listagem local, listagem remota, cadastro individual e cadastro em lote. |
| API JS | assets/js/pages/terminais/terminais-api.js | Mapa unico de endpoints do modulo de terminais. |
| Page JS | assets/js/pages/terminais/terminais-lista.js | Listagem local, filtros, detalhes, edicao e exclusao. |
| Page JS | assets/js/pages/terminais/terminais-cadastro-modal.js | Modal/iframe de cadastro usado pela listagem principal. |
| Page JS | assets/js/pages/terminais/terminais-cadastro.js | Cadastro individual, vinculo opcional de usuario e envio ao backend novo. |
| Page JS | assets/js/pages/terminais/terminais-cadastro-lote.js | Cadastro em lote, importacao CSV, validacao e envio ao backend novo. |
| Page JS | assets/js/pages/terminais/terminais-lista-remotos.js | Listagem remota antiga baseada em listar-remotos.php. |
| CSS por pagina | assets/css/pages/terminais/*.css | Estilos 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/gestao/planos.php, cadastro_planos.php, gestao_taxas.php, taxas_padrao.php | Auth, permissoes, dados iniciais e carregamento das views novas. |
| Views HTML/PHP | frontend/pages/planos/*.php | Estrutura visual da listagem, cadastro, gestao de taxas e taxas padrao. |
| API JS | assets/js/pages/planos/planos-api.js | Mapa unico de endpoints de planos, gestao de taxas e taxas de usuarios usadas no modulo. |
| Page JS | assets/js/pages/planos/planos-lista.js | Detalhes, exclusao, modal de cadastro, edicao popup e visualizacao CET. |
| Page JS | assets/js/pages/planos/planos-cadastro.js | Wizard de cadastro, validacao de taxas CET/debito, carregamento de taxas do usuario e envio ao backend novo. |
| Page JS | assets/js/pages/planos/gestao-taxas.js | Gestao administrativa de taxas por usuario, bandeira e modalidade MDR/CET. |
| Page JS | assets/js/pages/planos/taxas-padrao.js | Consulta e alteracao das taxas padrao do sistema. |
| CSS por pagina | assets/css/pages/planos/*.css | Estilos antes inline e CSS base do modulo concentrados na pasta de planos. |
| Backend API | backend/api/gestao-taxas/*.php | Endpoints finos para gestao de taxas por usuario, MDR e taxas padrao. |
| Backend services | backend/src/services/planos/rates/gestao_taxas_service.php, taxas_padrao_service.php | Regras 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/compliance/index.php | Auth, contexto visual, configuracao de layout e carregamento da view nova. |
| View HTML/PHP | frontend/pages/compliance/index.php | Estrutura visual da listagem, filtros, modais e popup compartilhado de estabelecimento. |
| API JS | assets/js/pages/compliance/compliance-api.js | Mapa unico de endpoints de compliance e detalhes de estabelecimentos usados na tela. |
| Page JS | assets/js/pages/compliance/compliance-page.js | Listagem, filtros, analise de documentos, status, anotacoes e detalhes do estabelecimento. |
| CSS por pagina | assets/css/pages/compliance/*.css | Estilos 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/propostas/propostas.php, cadastrar_cliente.php, credenciamentos.php, dashboard/simuladores/proposta_taxa.php | Auth/contexto e carregamento das views novas, mantendo URLs antigas. |
| Views HTML/PHP | frontend/pages/propostas/*.php | Listagem de propostas, cadastro legado, credenciamentos e simulador/nova proposta. |
| API JS | assets/js/pages/propostas/propostas-api.js | Mapa unico de endpoints de propostas, simulador, representantes, credenciamento e ViaCEP. |
| Page JS | assets/js/pages/propostas/propostas-lista.js | Listagem, filtros, detalhes, edicao, exclusao e troca de representante. |
| Page JS | assets/js/pages/propostas/propostas-cadastro.js | Cadastro legado de proposta, consulta de taxas, MCC/CNAE, CEP e salvamento. |
| Page JS | assets/js/pages/propostas/propostas-credenciamentos.js | Listagem de credenciamentos, detalhes, arquivos, downloads e envio de e-mail. |
| Page JS | assets/js/pages/propostas/propostas-simulador.js | Fluxo de nova proposta, simulacao de taxas, modelo PDF e salvamento. |
| CSS por pagina | assets/css/pages/propostas/*.css | Estilos 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/documentos/index.php | Auth, contexto visual, configuracao de layout e carregamento da view nova. |
| View HTML/PHP | frontend/pages/assinaturas/lista.php | Estrutura visual da listagem de documentos, filtros e modais de novo documento/arquivamento. |
| API JS | assets/js/pages/assinaturas/assinaturas-api.js | Mapa unico dos endpoints do backend novo em backend/api/assinaturas. |
| Page JS | assets/js/pages/assinaturas/assinaturas-lista.js | Listagem, filtros, envio de documento, download, arquivar/desarquivar e renderizacao da tabela. |
| CSS por pagina | assets/css/pages/assinaturas/lista.css | Estilos da tela de documentos/assinaturas concentrados no modulo. |
| Backend API/Service | backend/api/assinaturas/*.php, backend/src/services/assinaturas/signature_service.php | Endpoints 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/financeiro/*.php | Entradas publicas antigas preservadas, agora apontando para views em frontend/pages/financeiro. |
| Views HTML/PHP | frontend/pages/financeiro/*.php | Telas de comissoes, alugueis, percentuais, graficos, comissoes de associados e clientes aprovados. |
| API JS | assets/js/pages/financeiro/financeiro-api.js | Mapa unico dos endpoints financeiros e filtros compartilhados. |
| Page JS | assets/js/pages/financeiro/*.js | Logica de listagem, filtros, exportacao, detalhes, percentuais e clientes aprovados. |
| CSS por pagina | assets/css/pages/financeiro/*.css | Estilos antes inline ou globais, concentrados no modulo financeiro. |
| Split JS | assets/js/pages/financeiro/split/*.js | Scripts especificos do submodulo Split de Pagamentos. |
| Backend API/Service | backend/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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controller PHP | dashboard/permissoes/permissoes_usuarios.php | Auth, guard de permissao, CSRF, configuracao visual e carregamento da view nova. |
| View HTML/PHP | frontend/pages/permissoes/usuarios.php | Tela de gestao de permissoes por usuario, formulario e contexto CSRF minimo. |
| API JS | assets/js/pages/permissoes/permissoes-api.js | Mapa unico de endpoints de permissoes e escopo White Label. |
| Page JS | assets/js/pages/permissoes/permissoes-usuarios.js | Busca de usuarios, renderizacao de permissoes delegaveis, selecao em massa e salvamento. |
| Escopo WL | dashboard/white_label/escopo_permissoes.php + frontend/pages/white-label/escopo-permissoes.php | Tela de configuracao das permissoes delegaveis por White Label. |
| Page JS escopo WL | assets/js/pages/white-label/white-label-escopo.js | Carregamento e salvamento do escopo de permissoes por White Label. |
| CSS compartilhado | assets/css/pages/permissoes/permissoes-list.css | Estilos 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:
| Camada | Caminho | Responsabilidade |
|---|---|---|
| Controllers PHP | dashboard/gestao/estabelecimentos_novo.php, dashboard/gestao/estabelecimentos.php, dashboard/estabelecimentos/cadastro.php, dashboard/estabelecimentos/index.php | Auth/contexto e carregamento das views novas, mantendo as URLs antigas. |
| Views HTML/PHP | frontend/pages/estabelecimentos/*.php | Estrutura visual de listagem local, listagem remota, cadastro e exemplo de credenciamento. |
| API JS | assets/js/pages/estabelecimentos/estabelecimentos-api.js | Mapa unico de endpoints usados pelo modulo de estabelecimentos. |
| Page JS | assets/js/pages/estabelecimentos/estabelecimentos-lista.js | Listagem local, filtros, detalhes, planos, terminais, documentos, compliance e troca de representante. |
| Page JS | assets/js/pages/estabelecimentos/estabelecimentos-cadastro.js | Wizard de cadastro, validacoes, bancos, CEP, CNPJ, MCC/CNAE, taxas e envio ao backend novo. |
| Page JS | assets/js/pages/estabelecimentos/estabelecimentos-cadastro-modal.js | Abertura do cadastro em modal/iframe pela listagem principal. |
| Page JS | assets/js/pages/estabelecimentos/estabelecimentos-lista-remotos.js | Listagem remota antiga baseada no endpoint novo de estabelecimentos remotos. |
| Page JS | assets/js/pages/estabelecimentos/credenciamento-exemplo.js | Gerador local de payload do exemplo de credenciamento. |
| CSS por pagina | assets/css/pages/estabelecimentos/*.css | Estilos 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
- Criar base do
frontend/: bootstrap, helpers de URL/assets, shell e loader de paginas. - Migrar componentes existentes:
components/cp_dashboard_shell.php,components/cp_list_layout.php,components/menu-lateral.phpe popups. - Criar cliente JS central:
frontend/assets/js/core/http.js,frontend/assets/js/core/csrf.js,frontend/assets/js/core/permissions.js. - Organizar assets por modulo:
comercial,usuarios,white-label,estabelecimentos,planos,terminais,financeiro,compliance,propostas. - Refatorar primeiro paginas com menor risco:
permissoes,documentos,compliance,comercial. - Refatorar paginas grandes por partes:
estabelecimentos_novo.php,cadastro.php,planos.php,dashboard.php,colaboradores/cadastrar.php. - No fim, trocar os arquivos de
dashboard/por wrappers pequenos ou rotas centralizadas.
Ordem sugerida por modulo
| Ordem | Modulo | Motivo |
|---|---|---|
| 1 | Comercial | Novo, isolado e com telas recentes; bom para definir padrao. |
| 2 | Permissoes | Critico, pequeno e ja parcialmente organizado. |
| 3 | Documentos/assinaturas | Tela unica, bom para validar shell e API client. |
| 4 | Compliance | Ja usa layout comum, mas tem JS inline relevante. |
| 5 | Usuarios | Importante e com nome legado colaboradores; precisa padronizar nomenclatura. |
| 6 | White labels | Tem muitos modais e gestao de taxas; exige componentes melhores. |
| 7 | Terminais e planos | Compartilham gestao de taxas, vinculos e cadastros. |
| 8 | Estabelecimentos | Maior complexidade; deixar para quando a base estiver firme. |
| 9 | Financeiro | Muitas subareas; migrar por submodulo. |
| 10 | Dashboard principal | Arquivo 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
| Atual | Destino sugerido |
|---|---|
components/cp_dashboard_shell.php | frontend/components/layout/dashboard_shell.php |
components/cp_list_layout.php | frontend/components/layout/list_layout.php |
components/menu-lateral.php | frontend/components/layout/sidebar.php |
components/cp_loading_assets.php | frontend/components/ui/loading_assets.php |
components/cp_design_system_assets.php | frontend/includes/design_system_assets.php |
assets/js/cp-permissions-live.js | frontend/assets/js/core/permissions-live.js |
assets/js/cp-loading.js | frontend/assets/js/core/loading.js |
assets/js/cp-table.js | frontend/assets/js/components/table.js |
assets/js/dashboard.js | dividir entre core/shell.js e pages/dashboard/*.js |
assets/js/gestao.js | dividir por planos, terminais, estabelecimentos |
assets/js/comercial-pages.js | dividir 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.