https://github.com/ikauematos/amazon-integration-sp-api
A system for querying and analyzing Amazon products, integrating with Amazon SP-API for accessing product data and web scraping to capture additional information. The project allows data to be exported to Excel spreadsheets, facilitating data analysis and organization.
https://github.com/ikauematos/amazon-integration-sp-api
amazon nestjs sp-api swagger typescript
Last synced: 2 months ago
JSON representation
A system for querying and analyzing Amazon products, integrating with Amazon SP-API for accessing product data and web scraping to capture additional information. The project allows data to be exported to Excel spreadsheets, facilitating data analysis and organization.
- Host: GitHub
- URL: https://github.com/ikauematos/amazon-integration-sp-api
- Owner: iKaueMatos
- Created: 2024-10-25T10:26:43.000Z (7 months ago)
- Default Branch: v1
- Last Pushed: 2024-11-02T14:34:29.000Z (7 months ago)
- Last Synced: 2025-03-19T02:11:25.113Z (2 months ago)
- Topics: amazon, nestjs, sp-api, swagger, typescript
- Language: TypeScript
- Homepage:
- Size: 1.37 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## š Amazon Product Scrapper
Um sistema para consulta e anĆ”lise de produtos da Amazon, integrando com a Amazon SP-API para acesso a dados de produtos e web scraping para captura de informaƧƵes adicionais. O projeto permite a exportação dos dados para planilhas Excel, facilitando a anĆ”lise e organização dos dados. š
---
### š Ćndice
* š VisĆ£o Geral
* š ļø Tecnologias Utilizadas
* š§ Ferramentas Adicionais
* š Funcionalidades
* š ServiƧo de Autenticação
* š ServiƧo de Consulta
* š„ļø ServiƧo de Web Scraping
* š¾ ServiƧo de Exportação para Excel
* š Cobertura de Testes
* š» Como Rodar Localmente
* šÆ ContribuiƧƵes
* š Contato---
## š VisĆ£o Geral
Este sistema permite a consulta a produtos da Amazon utilizando a **Amazon SP-API** para dados oficiais e um mecanismo de **web scraping** para capturar detalhes adicionais diretamente do site. Além de armazenar esses dados no banco de dados, o sistema gera relatórios em planilhas Excel, facilitando o acesso offline e a anÔlise dos produtos.---
## š ļø Tecnologias Utilizadas
* **NestJS** (estrutura modular e escalƔvel)
* **TypeScript**
* **Docker** (containers e orquestração)
* **Prisma** (ORM para modelagem de banco de dados)
* **Amazon SP-API** (consulta de dados de produtos da Amazon)
* **ExcelJS** (geração e leitura de arquivos Excel)
* **Redis** (caching)
* **PostgreSQL** (banco de dados relacional)
* **Swagger** (documentação de APIs)---
## š§ Ferramentas Adicionais
* **Jest** (testes unitÔrios e de integração)
* **Docker Compose** (gerenciamento de containers em ambientes de desenvolvimento e produção)
* **Bcrypt** (hash de senhas e autenticação)
* **OpenAPI (Swagger)** (para documentação e testes das APIs)
* **Axios** (para comunicação HTTP com APIs externas)---
## š Funcionalidades
* **Consulta de Produtos via SP-API**: Permite consultar produtos diretamente da Amazon usando credenciais da Amazon SP-API.
* **Scraping de Produtos**: ObtƩm detalhes de produtos atravƩs de scraping de pƔginas da Amazon para capturar dados adicionais.
* **Geração de Planilhas Excel**: Exporta dados obtidos em formato Excel, facilitando o uso offline e anÔlises detalhadas.
* **Armazenamento em Banco de Dados**: Salva os dados em um banco de dados PostgreSQL para fƔcil acesso e futuras consultas.---
## š ServiƧo de Autenticação
O sistema utiliza autenticação JWT para garantir que somente usuÔrios autenticados possam acessar as funcionalidades de consulta e scraping. A senha dos usuÔrios é armazenada de forma segura utilizando o Bcrypt.---
## š ServiƧo de Consulta
Realiza a comunicação com a Amazon SP-API para buscar informaƧƵes de produtos, como tĆtulo, preƧo e descrição, que sĆ£o retornados pela API oficial e salvos no banco de dados.---
## š„ļø ServiƧo de Web Scraping
Para obter informaƧƵes nĆ£o disponĆveis na API oficial, o serviƧo de scraping realiza consultas diretamente nas pĆ”ginas dos produtos na Amazon, capturando dados como avaliaƧƵes, descrição detalhada e imagens adicionais.---
## š¾ ServiƧo de Exportação para Excel
Utilizando a biblioteca ExcelJS, este serviço cria planilhas a partir dos dados obtidos, permitindo uma visualização prÔtica e organizada. A exportação é feita para o formato XLSX, com cabeçalhos bem definidos e estilizados para melhor apresentação.---
## š Cobertura de Testes
* **Testes UnitÔrios**: Implementados com Jest para garantir a confiabilidade dos principais componentes, como a autenticação e a integração com a Amazon SP-API.
* **Testes de Integração**: Focados na interação entre diferentes módulos e serviços, especialmente a integração com a SP-API e o serviço de scraping.---
## š» Como Rodar Localmente
1. **PrƩ-requisitos**:
* Docker e Docker Compose instalados
* Credenciais da Amazon SP-API configuradas2. **Instalar DependĆŖncias**:
```bash
npm install
```3. **Configurar VariƔveis de Ambiente**:
Crie um arquivo `.env` na raiz do projeto e defina as variƔveis necessƔrias, como as credenciais da SP-API, as configuraƧƵes do banco de dados e a chave secreta JWT.4. **Iniciar o Docker Compose**:
```bash
docker-compose up -d
```5. **Iniciar o Servidor**:
```bash
npm run start:dev
```6. **Acessar o Swagger para Documentação**:
Acesse `http://localhost:3000/api` para explorar a documentação da API e testar os endpoints.---
## šÆ ContribuiƧƵes
Contribuições são bem-vindas! Se encontrar bugs ou desejar implementar novas funcionalidades, abra um **Pull Request** ou **Issue**.**Como Contribuir**:
1. Faça um fork do repositório.
2. Crie uma branch: `git checkout -b feature/nova-funcionalidade`.
3. FaƧa suas alteraƧƵes e adicione commits.
4. Envie um Pull Request.---
## š Contato
Para dúvidas ou sugestões, entre em contato:**Email**: [email protected]
**LinkedIn**: [ikauematos](https://www.linkedin.com/in/ikauematos/)---