Esta seção documenta os recursos visuais, interativos e utilitários do BarberBot que ficam fora das regras de negócio (CRUD), mas são essenciais para interface, performance e geração de relatórios.
📦 Visão geral (o que existe no projeto)
- SITE
/images(86 arquivos) •/css(11) •/js(3) •/fonts(3) - PAINEL
/sistema/painel: JS (~41), CSS (~11), fontes (~10) e libs (DataTables, plugins) - UPLOADSdiretórios de mídia gerados pelo painel (banners/carrossel/blocos e outros)
- PDF
/sistema/dompdf(285 arquivos) – biblioteca completa (vendor/autoload) - WEBPotimização de imagens via scripts (
gerar_webp.php,funcoes_webp.php,tools/webp_*)
🖼️ /images – Recursos Visuais do Site Público
Total (no pacote atual): 86 arquivos.
- Armazena banners, ícones, imagens de seções e identidade visual do site público.
- Arquivos comuns (exemplos):
banerr-barberbot.png,banner-babarbot.png,about-img.jpg,agenda.png. - Recomendação: manter nomes curtos, sem espaços, e preferir
.webppara performance.
Onde estas imagens aparecem
- Páginas públicas (ex.:
index.php,servicos.php, landings SEO). - Seções de planos/assinatura e chamadas de ação.
🎨 /css – Estilos do Site
Total (no pacote atual): 11 arquivos.
bootstrap.css– base do layout e grid.font-awesome.min.css– ícones.style.css/responsive.css– tema e responsividade.agendamento.css– ajustes visuais específicos do fluxo de agendamento.- Arquivos legados:
style_antigo.css,style.scssestyle.css.map(se não usar, pode limpar em revisão).
Boas práticas
- Evitar editar
bootstrap.cssdireto: preferir sobrescritas emstyle.css. - Em produção, ideal minificar e usar cache (headers).
🧠 /js – Scripts do Site
Total (no pacote atual): 3 arquivos.
jquery-3.4.1.min.js– base Ajax/DOM.bootstrap.js– componentes e interações do Bootstrap.custom.js– lógica de interface do tema (menus, efeitos, pequenos handlers).
Regra prática no BarberBot
- Validação no JS é só UX. Validação real sempre no backend (PDO + regras).
- Chamadas assíncronas usam endpoints em
/ajaxe retornos em texto/HTML/JSON.
🔤 /fonts – Fontes e Ícones
Total (no pacote atual): 3 arquivos.
- Pacote FontAwesome:
fontawesome-webfont.ttf,.woff,.woff2. - Usado via
css/font-awesome.min.css(ícones em botões, menus e seções).
🧩 Mídia do Painel Administrativo
O painel tem seus próprios assets internos em /sistema/painel.
- JS
/sistema/painel/js(~41 arquivos) – plugins, máscaras, scripts do painel. - CSS
/sistema/painel/css(~11 arquivos) – tema e estilos do painel. - FONTS
/sistema/painel/fonts(~10 arquivos) – fontes/ícones usados no painel. - LIB
/sistema/painel/DataTables(~33 arquivos) – ordenação, paginação e UI de tabelas.
Imagens no painel
- Existem imagens internas de bibliotecas (ex.: DataTables) e imagens de plugins.
- No pacote completo do sistema há aproximadamente 767 arquivos de imagem (somando painel + libs + uploads).
📤 Uploads (banners, carrossel e blocos do site)
O sistema possui diretórios onde o painel salva mídia enviada pelo usuário.
/uploads– uploads gerais do site (no pacote atual: 4 arquivos)./sistema/painel/paginas/site/uploads_banners– banners do site./sistema/painel/paginas/site/uploads_carrossel– imagens do carrossel./sistema/painel/paginas/site/uploads_blocos– imagens de blocos/seções.
Regras obrigatórias (sem frescura)
- Validar extensão e MIME no backend (não confiar no nome do arquivo).
- Normalizar nome + gerar hash no upload (evita colisão).
- Bloquear execução de PHP dentro das pastas de upload (via
.htaccessou config do servidor).
📄 /sistema/dompdf – Geração de PDF
A biblioteca dompdf está presente no projeto e é usada para gerar PDFs (relatórios, recibos, comprovantes).
- Total (no pacote atual): 285 arquivos dentro de
/sistema/dompdf(incluivendor). - Entrada padrão:
autoload.inc.php(carrega dependências). - Uso típico: montar HTML + CSS e renderizar em PDF via dompdf.
Boas práticas
- Evitar HTML pesado (PDF quebra fácil com CSS avançado).
- Usar CSS simples (tabelas, fontes padrão, margens fixas).
- Validar caminho de imagens no PDF (usar caminho absoluto quando necessário).
🧪 Scripts de otimização (WEBP) e utilitários
gerar_webp.phpefuncoes_webp.php(na raiz do site) – conversão/rotinas de imagem./tools/webp_batch.php– conversão em lote JPG/PNG → WEBP (manual ou cron)./tools/webp_helper.php– conversão de um arquivo específico./tools/licenca_ativar.phpe/tools/licenca_status.php– rotinas de licença (ambiente.env).
Recomendação prática
- Executar conversão WEBP fora do horário de pico (consome CPU).
- Manter qualidade entre 80 e 85 (equilíbrio bom).