Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 (3 months ago)
- Default Branch: v1
- Last Pushed: 2024-10-27T16:03:05.000Z (3 months ago)
- Last Synced: 2024-10-27T20:09:58.216Z (3 months ago)
- Topics: amazon, nestjs, sp-api, swagger, typescript
- Language: TypeScript
- Homepage:
- Size: 944 KB
- Stars: 2
- 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/)---