Repository navigation
InfoSuplementos — Descrição da Versão (Nov/2025)
Esta versão entrega uma atualização ampla no backend e na infraestrutura de banco de dados do InfoSuplementos. As mudanças priorizam consistência de codificação (utf8mb4), enriquecimento das operações de produtos e mídia, novas funcionalidades de perfil e autenticação, melhorias de confiabilidade/escala via pooling e healthcheck, além da integração de um assistente virtual usando Google Gemini AI.
✨ Principais entregas
- Padronização total do banco em
utf8mb4, evitando problemas de caracteres especiais. - Gestão completa de produtos para admin, incluindo CRUD e vínculo com imagens.
- Imagens genéricas em lote para Whey Protein e Creatina.
- Busca, favoritos e destaques agora retornam imagens junto aos produtos.
- Perfil do usuário: visualizar e atualizar nome/senha.
- Camada middleware de autorização admin.
- Assistente virtual de IA com Google Gemini.
- Melhorias de infraestrutura (healthcheck MySQL + connection pooling).
🗄️ Banco de dados & padronização de encoding
- Tabelas principais agora explicitam
utf8mb4e collation adequadas:usuariossuplementosfavoritosmidias
- Conexões e inserts configurados para usar sempre
utf8mb4, garantindo consistência ponta-a-ponta.
Impacto:
- maior integridade de dados
- suporte correto a emojis/acentos/caracteres especiais
- eliminação de bugs de charset em listagens/detalhes
🧴 Produtos & Mídias (Admin e usuário)
CRUD para administradores
- Controllers adicionados para:
- criar produto
- editar produto
- deletar produto
- Tratamento completo das imagens associadas usando a tabela
midias.
Inserções em lote de imagens
- Bulk inserts adicionam imagens genéricas para:
- Whey Proteins
- Creatinas
Melhorando apresentação inicial dos itens.
Retorno com imagens em endpoints
- Ajuste de endpoints para incluir imagem nos fluxos:
- busca de produtos
- listagem de favoritos
- Novo endpoint de destaques randômicos para homepage.
Resultado:
- catálogo mais rico visualmente
- experiência de navegação mais atrativa
👤 Perfil do usuário & autenticação
- Novos endpoints para:
- visualizar perfil
- atualizar nome
- atualizar senha
- Fluxo correto de:
- validação de sessão
- hashing de senha
- Middleware introduzido para restringir ações exclusivas de admin.
- Novo usuário administrador inserido para bootstrap/testes.
🤖 Integração do Chatbot (Google Gemini AI)
- Assistente virtual integrado via pacote
@google/generative-ai. - Novo endpoint de chat com:
- contexto da empresa/projeto
- respostas amigáveis e orientadas ao usuário
- Estrutura preparada para evoluir FAQs e suporte inteligente.
🧱 Infraestrutura, escala & confiabilidade
docker-compose.ymlcom healthcheck MySQL aprimorado:- sobe containers de forma mais estável
- evita race conditions na inicialização
- Backend Node.js passou a usar connection pooling:
- melhora performance sob carga
- reduz falhas por excesso de conexões
- aumenta confiabilidade do serviço
🧪 Correções e incrementos incluídos na linha do tempo
- Políticas de privacidade e destaques randômicos.
- Correções na conexão com banco (
connection.js) e selects de destaques. - Ajustes de UI/Front:
- página de resultados
- correções de imagem
- página de perfil
- área de admin (back + front)
- Correção de bugs:
- listar favoritos
- ver detalhes
- charset em detalhes
- ícone de perfil
- bugs do bot de IA
- fluxo admin (lista/detalhes)
✅ Checklist rápido de validação
-
Banco
- Inserir registros com acentos/emojis e validar retorno correto.
- Conferir collation
utf8mb4nas tabelas.
-
Produtos
- Admin cria/edita/remove produto com imagem.
- Usuário busca produtos e visualiza imagem.
- Favorita e lista favoritos com imagem.
- Homepage retorna destaques randômicos.
-
Perfil
- Visualizar dados do usuário logado.
- Alterar nome.
- Alterar senha e validar hash/login.
-
IA
- Endpoint do assistente responde corretamente.
- Validar contexto do projeto nos prompts.
-
Infra
- Subida do compose sem falha de banco.
- Teste de múltiplas requisições observando estabilidade do pool.