Descrição:
Duas páginas diferentes exibindo a mesma imagem do banco de dados podem causar conflito de exibição.
Ao atualizar a imagem em uma página, a outra não atualiza ou deixa de exibir corretamente.
Arquivos envolvidos:
catalogo.php
Possíveis páginas de detalhe ou pregão (pregao.php, lance_antecipado.php)
Causa provável:
Cache do navegador ou do PHP.
Uso do mesmo idMoeda e idAnuncio sem controle de atualização em tempo real.
Solução sugerida:
Implementar refresh individual de imagem com timestamp na URL (?v=<?= time() ?>).
Garantir que todas as páginas usem mesmo caminho de fonte e nome de arquivo.
Descrição:
Atualizações automáticas do catálogo (refresh a cada 30s) podem fechar modais abertos, como input de chat ou ficha de lance.
Arquivos envolvidos:
catalogo.php
moedas.js ou scripts de refresh
Solução sugerida:
Usar AJAX para atualizar apenas a lista de moedas, sem recarregar toda a página.
Guardar o estado do modal antes do refresh e restaurar após atualização.
Descrição:
Subqueries para contar lances e buscar maior lance (COUNT(*) e MAX(valor_lance)) podem gerar lentidão em filas grandes.
Arquivos envolvidos:
catalogo.php
Solução sugerida:
Substituir subqueries por LEFT JOIN com GROUP BY.
Criar views no banco para agilizar consultas complexas.
Descrição:
Página inicial do pregão mostra apenas 3 mensagens.
Links para todas as mensagens abrem nova página, mas não há paginação dentro do chat.
Arquivos envolvidos:
card_chat.php
pregao.php
Solução sugerida:
Implementar chat de página inteira com input fixo.
Adicionar scroll infinito ou paginação para histórico.
Prever integração futura com IA leiloeira para envio automático de mensagens.
Descrição:
Alguns cards de moedas e cédulas podem se sobrepor em telas menores.
Botões de ficha técnica e participação podem ficar desalinhados em mobile.
Arquivos envolvidos:
catalogo.php
moedas.css
Solução sugerida:
Ajustar flexbox e breakpoints.
Garantir largura mínima de imagens e botões.
Testar em diferentes dispositivos e navegadores.
Descrição:
Regras implementadas no PHP bloqueiam lances iguais, mas não há restrição no banco.
Arquivos envolvidos:
lance_antecipado.php
Tabela lances
Solução sugerida:
Adicionar constraint ou trigger no banco para reforçar a regra.
Registrar log detalhado quando um lance for recusado por igualdade.
Descrição:
Fichas técnicas são abertas em nova guia, mas alterações no banco podem não refletir imediatamente devido ao cache do navegador.
Solução sugerida:
Adicionar query string com timestamp (?v=<?= time() ?>) nas URLs de imagens.
Usar HTTP headers para controle de cache, garantindo atualização em tempo real.
Descrição:
Sistema atualmente exibe erros PHP e notices, mas não registra logs centralizados.
Arquivos envolvidos:
config/databaseNexa.php
catalogo.php e demais scripts
Solução sugerida:
Criar arquivo de log centralizado para erros e eventos críticos.
Configurar exibição limitada de erros em produção.
Scripts JS duplicados em diferentes arquivos podem ser consolidados (scripts.js + moedas.js) para manutenção mais fácil.
Botão de Ficha Técnica: hover e tooltip funcionam, mas animação pode conflitar com refresh automático.
Auto-refresh do catálogo pode ser ajustado para AJAX parcial, reduzindo consumo de banda e interrupções de interface.
Nilton Romani