Este módulo descreve onde ficam os arquivos de imagens, CSS, JavaScript, fontes, uploads e a biblioteca de PDF. Aqui não tem regra de negócio, mas sem isso o sistema não funciona direito (layout, UX, relatórios, desempenho).
📦 Visão geral (estrutura do projeto)
| Área | Pastas / Arquivos | Uso |
|---|---|---|
| SITE | /images • /css • /js • /fonts |
Assets do site público (home, páginas, landings, tema). |
| SISTEMA | /sistema/css • /sistema/dompdf |
CSS do login/recuperação + geração de PDF no sistema. |
| PAINEL | /sistema/painel (css/js/fonts/plugins) |
Assets do painel administrativo (UI, plugins, DataTables, máscaras). |
| UPLOADS | /uploads e subpastas do painel |
Arquivos enviados pelo usuário (banners, carrossel, blocos, anexos). |
| TOOLS | /tools e scripts *webp* |
Rotinas utilitárias: otimização WEBP, licença, tarefas técnicas. |
🖼️ /images – Imagens do Site Público
- Armazena banners, ícones e imagens do site público.
- Regra prática: nome curto, sem espaço, sem acento, e preferir
.webpquando possível.
Onde aparece
- Páginas públicas (
index.php,servicos.phpe afins). - Seções de planos/assinatura e marketing.
🎨 /css – CSS do Site Público
- CSS do tema e responsivo do site.
- Se tiver Bootstrap no site, evita editar direto o arquivo principal: sobrescreve no
style.css.
Regras rápidas
- Em produção: cache e minificação ajudam (header cache-control).
- Não mistura CSS do painel aqui. Painel tem CSS próprio.
🧠 /js – JavaScript do Site Público
- Scripts do tema (menu, efeitos, handlers).
- Ajax do site normalmente chama endpoints em
/ajax.
Regra BarberBot
- Validação JS é UX. Validação real é no backend (PDO + regras).
🔤 /fonts – Fontes / Ícones
- Arquivos de fontes usados no site (ex.: FontAwesome).
- Se trocar tema, revisa este diretório para evitar lixo de fontes antigas.
🧩 Assets do Painel (/sistema/painel)
- CSS
/sistema/painel/css– estilos do painel. - JS
/sistema/painel/js– scripts do painel, máscaras, plugins. - FONTS
/sistema/painel/fonts– fontes e pacotes de ícones usados no painel. - LIB pastas de plugins (ex.: DataTables, bibliotecas de UI).
Observação
- O painel tem muito arquivo de plugin. Não mexe dentro da lib sem necessidade: mexe no teu JS/CSS por cima.
📤 Uploads (mídia enviada pelo usuário)
/uploads– uploads gerais do site.- Uploads do painel (exemplos típicos): banners/carrossel/blocos.
Regras obrigatórias (sem frescura)
- Validar extensão + MIME no backend (não confiar no nome do arquivo).
- Gerar nome novo (hash/uniqid) e guardar no banco.
- Bloquear execução de PHP dentro das pastas de upload (servidor/.htaccess).
# Exemplo .htaccess (Apache) para uploads
php_flag engine off
RemoveHandler .php .phtml .php3 .php4 .php5 .php7 .phps
RemoveType .php .phtml .php3 .php4 .php5 .php7 .phps
📄 PDF (/sistema/dompdf)
- Biblioteca usada para gerar PDFs (relatórios, recibos, comprovantes).
- Boa prática: não editar arquivos internos da lib. Seu HTML do relatório deve ficar em arquivos do sistema.
Regras para PDF não quebrar
- CSS simples (tabelas, margens, fontes básicas).
- Evitar layout pesado.
- Imagens no PDF: quando necessário, usar caminho absoluto.
🧪 WEBP e Tools (/tools)
- Scripts de conversão/otimização de imagem para
.webp. - Rotinas técnicas: licença, status, helpers.
Regra prática
- Conversão WEBP consome CPU: roda fora do pico.
- Qualidade entre 80 e 85 costuma ficar boa.