Ache produtos mais baratos, com boas avaliações, e tudo isso filtrado !
Aplicação para coleta, filtragem e visualização de produtos da Amazon Brasil, desenvolvida com foco em scraping estruturado, performance, observabilidade e experiência do usuário.
Automatizar a descoberta de produtos com melhor custo-benefício na Amazon, centralizando coleta, filtragem e análise em uma única aplicação performática e observável.
Benefícios principais:
- Coleta automatizada de produtos via scraping
- Filtros inteligentes por avaliação, preço e Prime
- Redução de esforço manual na comparação de produtos
- Interface rápida e responsiva com feedback em tempo real
- API monitorável com métricas de uso e saúde
- Coleta de produtos via requisições HTTP (Axios)
- Parsing de HTML com JSDOM
- Normalização e estruturação de dados
- Retorno padronizado via API REST (JSON)
- Avaliação mínima (rating)
- Faixa de preço (mínimo e máximo)
- Filtro de produtos Prime
- Interface responsiva (mobile-first)
- Scroll infinito para carregamento progressivo
- Feedback visual de carregamento e erros
- Modo escuro com persistência
- Métricas de requisição e scraping
- Monitoramento de cache (cache hits)
- Uptime da aplicação
- Uso de memória
- Rate limiting monitorado
Arquitetura baseada em separação clara entre frontend e API:
Frontend (Vite + Tailwind)
│
▼
API (Node.js + Express)
│
▼
HTTP Client (Axios)
│
▼
Parsing DOM (JSDOM)
│
▼
Normalização e retorno JSON
-
API REST (
/api/scrape,/api/health,/api/metrics) -
Scraping com Axios + JSDOM
-
Cache em memória com TTL
-
Middlewares de segurança e performance:
helmetcompressionmorganexpress-rate-limit
-
Tratamento centralizado de erros
- Interface com Vite + Tailwind CSS
- Consumo da API via fetch
- Grid responsivo de produtos
- Filtros dinâmicos
- Painel de métricas em tempo real
- Rate limiting para mitigação de abuso
- Headers de segurança via
helmet - Validação de entrada de parâmetros
- Cache para reduzir volume de requisições externas
- Tratamento de erros e respostas padronizadas
Observação: o projeto depende de scraping de terceiros, podendo sofrer alterações caso a estrutura da Amazon seja modificada.
- Node.js
- Express
- Axios
- JSDOM
- Helmet
- Morgan
- Compression
- Express Rate Limit
- Vite
- Tailwind CSS
- JavaScript (Vanilla)
- Vitest
- JSDOM
- Node.js 20+
git clone https://github.com/seu-usuario/amazon-scraper.git
cd amazon-scraper
npm install
npm run install-clientBackend:
npm startFrontend:
cd client
npm run devAcesse:
- Frontend: http://localhost:5173
- API: http://localhost:3000
Checklist funcional:
- Realizar busca por palavra-chave
- Validar retorno de produtos via API
- Aplicar filtros (preço, rating, Prime)
- Verificar funcionamento do scroll infinito
- Validar métricas em
/api/metrics - Testar cache (repetir requisições)
GET /api/health
GET /api/metrics
GET /api/scrape?keyword=notebook
Natan Da Luz Desenvolvedor de Software


