Skip to content

Um catálogo de produtos moderno e responsivo desenvolvido com HTML5, CSS3 e JavaScript vanilla. O projeto oferece uma experiência completa de navegação e busca de produtos com interface intuitiva e design profissional.

License

Notifications You must be signed in to change notification settings

fvandrad/catalogo-azul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛍️ Catálogo Interativo

Um catálogo de produtos moderno e responsivo desenvolvido com HTML5, CSS3 e JavaScript vanilla. O projeto oferece uma experiência completa de navegação e busca de produtos com interface intuitiva e design profissional.

Status Versão Licença

🚀 Demonstração

O catálogo funciona totalmente no navegador e não requer instalação de dependências. Basta servir os arquivos através de um servidor web local.

📸 Preview

  • Interface moderna e responsiva
  • Filtros dinâmicos em tempo real
  • Modal de detalhes dos produtos
  • Sistema de busca inteligente

✨ Funcionalidades Principais

🔍 Sistema de Busca e Filtros

  • Busca Inteligente: Pesquise por nome, descrição ou categoria
  • Filtros Avançados:
    • Filtro por categoria (Eletrônicos, Roupas, Casa & Jardim, etc.)
    • Faixa de preço personalizável (mínimo e máximo)
    • Ordenação por nome, preço e avaliação
  • Resultados em Tempo Real: Filtros aplicados instantaneamente

📱 Interface e Design

  • Totalmente Responsivo: Adaptado para desktop, tablet e mobile
  • Modal de Detalhes: Visualização completa das especificações
  • Indicadores Visuais: Badges para ofertas, produtos novos e status
  • Sistema de Avaliações: Exibição de estrelas e notas dos produtos
  • Loading States: Indicadores visuais durante carregamento

🎨 Recursos Visuais

  • Design limpo e profissional
  • Gradientes e sombras modernas
  • Animações suaves
  • Ícones Font Awesome
  • Layout em grid responsivo

📁 Estrutura do Projeto

catalogo/
├── index.html          # Página principal
├── styles.css          # Estilos CSS
├── script.js           # JavaScript da aplicação
├── products.json       # Dados dos produtos
└── README.md          # Documentação

🛠️ Como Executar

Pré-requisitos

  • Navegador web moderno (Chrome, Firefox, Safari, Edge)
  • Servidor web local (devido às políticas CORS para arquivos JSON)

🚀 Instalação e Execução

Opção 1: Python (Recomendado)

# Navegue até o diretório do projeto
cd c:\Copilot\Github\novas\catalogo

# Python 3.x
python -m http.server 8000

# Acesse: http://localhost:8000

Opção 2: Node.js

# Instale o serve globalmente (se ainda não tiver)
npm install -g serve

# Execute o servidor
serve .

# Acesse: http://localhost:3000

Opção 3: VS Code Live Server

  1. Instale a extensão "Live Server" no VS Code
  2. Abra o projeto no VS Code
  3. Clique com o botão direito em index.html
  4. Selecione "Open with Live Server"

Opção 4: Outras alternativas

# PHP (se instalado)
php -S localhost:8000

# Usando o servidor IIS Express (Windows)
# Configure um site local apontando para a pasta do projeto

� Dados dos Produtos

📁 Estrutura do JSON

Os produtos são armazenados no arquivo products.json e seguem esta estrutura:

{
  "id": 1,
  "name": "Nome do Produto",
  "description": "Descrição detalhada do produto",
  "category": "Categoria",
  "price": 999.99,
  "oldPrice": 1199.99,  // Opcional - para exibir promoções
  "rating": 4.5,        // Avaliação de 0 a 5
  "image": "URL da imagem do produto",
  "badge": "sale",      // "sale", "new" ou null
  "inStock": true,      // Status de disponibilidade
  "specifications": {   // Especificações técnicas (opcional)
    "Marca": "Samsung",
    "Modelo": "Galaxy S23",
    "Cor": "Preto"
  }
}

📦 Categorias Disponíveis

  • Eletrônicos: Smartphones, tablets, notebooks
  • Roupas: Vestuário masculino e feminino
  • Casa & Jardim: Móveis, decoração, utensílios
  • Livros: Literatura, técnicos, educacionais
  • Esportes: Equipamentos e acessórios esportivos

➕ Adicionando Novos Produtos

  1. Abra o arquivo products.json
  2. Adicione um novo objeto seguindo a estrutura acima
  3. Use um ID único (próximo número sequencial)
  4. Salve o arquivo - as mudanças serão refletidas automaticamente

⚙️ Funcionalidades Detalhadas

🔍 Sistema de Busca

  • Pesquisa em Tempo Real: Resultados atualizados conforme você digita
  • Busca Inteligente: Procura em nome, descrição e categoria
  • Case Insensitive: Não diferencia maiúsculas de minúsculas
  • Highlight de Resultados: Termos pesquisados destacados

🎛️ Filtros Avançados

Por Categoria

  • Dropdown dinâmico com todas as categorias disponíveis
  • Opção "Todas as categorias" para visualizar todos os produtos
  • Contador de produtos por categoria

Por Faixa de Preço

  • Campo para preço mínimo e máximo
  • Validação automática de valores
  • Formatação de moeda (R$) em tempo real
  • Filtro combinado com outros critérios

Ordenação

  • Padrão: Ordem original do arquivo JSON
  • Nome (A-Z): Alfabética crescente
  • Nome (Z-A): Alfabética decrescente
  • Preço (Menor): Do menor para o maior valor
  • Preço (Maior): Do maior para o menor valor
  • Avaliação: Produtos mais bem avaliados primeiro

📱 Responsividade

O catálogo é totalmente responsivo e se adapta a diferentes tamanhos de tela:

  • Desktop: Layout com sidebar de filtros e grid de produtos
  • Tablet: Layout similar ao desktop com ajustes de espaçamento
  • Mobile: Layout em coluna única com filtros no topo

🔧 Personalização

Adicionando Novos Produtos

  1. Abra o arquivo products.json
  2. Adicione um novo objeto seguindo a estrutura existente
  3. Certifique-se de usar um ID único
  4. Salve o arquivo

Modificando Categorias

As categorias são extraídas automaticamente dos produtos. Para adicionar uma nova categoria, basta incluir produtos com essa categoria no JSON.

Alterando Estilos

Os estilos estão organizados no arquivo styles.css com seções bem definidas:

  • Reset e base
  • Header
  • Filtros
  • Grid de produtos
  • Modal
  • Responsividade

🌟 Recursos Avançados

Toast Notifications

Sistema de notificações para ações do usuário (ex: adicionar ao carrinho).

Modal de Detalhes

Exibe informações completas do produto incluindo:

  • Imagem em tamanho maior
  • Descrição completa
  • Especificações técnicas
  • Avaliações
  • Ações (adicionar ao carrinho, favoritos)

Loading States

Indicadores visuais durante o carregamento dos dados.

Error Handling

Tratamento de erros ao carregar os produtos.

🚀 Roadmap e Melhorias Futuras

🔄 Versão Atual (v1.0.0)

  • Sistema básico de catálogo
  • Filtros e busca
  • Interface responsiva
  • Modal de detalhes
  • Sistema de avaliações

📋 Próximas Versões

v1.1.0 - E-commerce Básico

  • 🛒 Sistema de carrinho de compras
  • ❤️ Lista de favoritos persistente
  • 📊 Filtro por faixa de avaliação
  • 🔄 Comparação entre produtos

v1.2.0 - Experiência do Usuário

  • 🔗 Compartilhamento de produtos (redes sociais)
  • 📖 Histórico de produtos visualizados
  • 🔔 Sistema de notificações
  • 🎨 Temas escuro/claro

v2.0.0 - Recursos Avançados

  • 🔐 Sistema de autenticação de usuários
  • ⭐ Sistema de avaliações e comentários
  • 🔍 Busca avançada com filtros combinados
  • 🌐 Integração com APIs de pagamento
  • 📱 PWA (Progressive Web App)

💡 Ideias para Contribuição

  • Melhorias na acessibilidade (ARIA labels)
  • Testes automatizados (Jest, Cypress)
  • Otimização de performance
  • Internacionalização (i18n)
  • Modo offline com Service Worker

🎨 Tecnologias e Ferramentas

💻 Frontend

  • HTML5: Estrutura semântica e acessível
  • CSS3: Estilos modernos com Flexbox e Grid Layout
  • JavaScript ES6+: Funcionalidades interativas e manipulação do DOM
  • Font Awesome 6.0: Biblioteca de ícones moderna
  • Fetch API: Carregamento assíncrono de dados
  • CSS Animations: Transições e animações suaves

🏗️ Arquitetura

  • Vanilla JavaScript: Sem dependências de frameworks
  • Modularização: Código organizado em funções específicas
  • Event-Driven: Programação baseada em eventos
  • Responsive Design: Mobile-first approach
  • Progressive Enhancement: Funcionalidades incrementais

🌐 Recursos Web

  • LocalStorage: Persistência de preferências do usuário
  • JSON: Formato de dados estruturados
  • CORS-Ready: Preparado para APIs externas
  • SEO-Friendly: Estrutura semântica otimizada

🤝 Como Contribuir

Contribuições são sempre bem-vindas! Veja como você pode ajudar:

🐛 Reportando Bugs

  1. Abra uma issue descrevendo o problema
  2. Inclua passos para reproduzir o erro
  3. Mencione seu navegador e versão
  4. Adicione screenshots se aplicável

💻 Contribuindo com Código

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Diretrizes de Código

  • Mantenha o código limpo e bem comentado
  • Siga as convenções de nomenclatura existentes
  • Teste suas mudanças em diferentes navegadores
  • Atualize a documentação se necessário

🎯 Áreas de Contribuição

  • Frontend: Melhorias na interface e UX
  • Performance: Otimizações de carregamento
  • Acessibilidade: Suporte a tecnologias assistivas
  • Documentação: Melhorias no README e comentários
  • Testes: Implementação de testes automatizados

📄 Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

Resumo da Licença MIT

  • ✅ Uso comercial permitido
  • ✅ Modificação permitida
  • ✅ Distribuição permitida
  • ✅ Uso privado permitido
  • ❌ Sem garantias ou responsabilidades

👨‍💻 Autor

Desenvolvido com ❤️ para demonstrar funcionalidades modernas de catálogo web


🌟 Se este projeto foi útil para você, considere dar uma ⭐!

Última atualização: 17 de junho de 2025

About

Um catálogo de produtos moderno e responsivo desenvolvido com HTML5, CSS3 e JavaScript vanilla. O projeto oferece uma experiência completa de navegação e busca de produtos com interface intuitiva e design profissional.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published