{"id":17930969,"url":"https://github.com/ikauematos/amazon-integration-sp-api","last_synced_at":"2025-03-24T04:31:33.450Z","repository":{"id":259751072,"uuid":"878403541","full_name":"iKaueMatos/amazon-integration-sp-api","owner":"iKaueMatos","description":"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. ","archived":false,"fork":false,"pushed_at":"2024-11-02T14:34:29.000Z","size":1434,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"v1","last_synced_at":"2025-03-19T02:11:25.113Z","etag":null,"topics":["amazon","nestjs","sp-api","swagger","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iKaueMatos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-25T10:26:43.000Z","updated_at":"2025-02-28T21:01:53.000Z","dependencies_parsed_at":"2024-10-27T20:10:23.807Z","dependency_job_id":null,"html_url":"https://github.com/iKaueMatos/amazon-integration-sp-api","commit_stats":null,"previous_names":["ikauematos/amazon-integration-sp-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKaueMatos%2Famazon-integration-sp-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKaueMatos%2Famazon-integration-sp-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKaueMatos%2Famazon-integration-sp-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKaueMatos%2Famazon-integration-sp-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iKaueMatos","download_url":"https://codeload.github.com/iKaueMatos/amazon-integration-sp-api/tar.gz/refs/heads/v1","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245211221,"owners_count":20578373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon","nestjs","sp-api","swagger","typescript"],"created_at":"2024-10-28T21:18:50.744Z","updated_at":"2025-03-24T04:31:33.150Z","avatar_url":"https://github.com/iKaueMatos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"https://imgs.search.brave.com/s5dvio5a15OwoM9qZnNKyMxJrhDPqifDBlIzWM4R2pM/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9sb2dv/ZG93bmxvYWQub3Jn/L3dwLWNvbnRlbnQv/dXBsb2Fkcy8yMDE0/LzA0L2FtYXpvbi1s/b2dvLTAucG5n\" alt=\"Amazon Logo\" width=\"200\"/\u003e\n\n## 🛒 Amazon Product Scrapper\n\nUm 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. 🚀\n\n---\n\n### 📜 Índice\n* 🔍 Visão Geral\n* 🛠️ Tecnologias Utilizadas\n* 🔧 Ferramentas Adicionais\n* 📈 Funcionalidades\n* 🔐 Serviço de Autenticação\n* 📝 Serviço de Consulta\n* 🖥️ Serviço de Web Scraping\n* 💾 Serviço de Exportação para Excel\n* 📊 Cobertura de Testes\n* 💻 Como Rodar Localmente\n* 🎯 Contribuições\n* 📞 Contato\n\n---\n\n## 🔍 Visão Geral\nEste 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.\n\n---\n\n## 🛠️ Tecnologias Utilizadas\n* **NestJS** (estrutura modular e escalável)\n* **TypeScript**\n* **Docker** (containers e orquestração)\n* **Prisma** (ORM para modelagem de banco de dados)\n* **Amazon SP-API** (consulta de dados de produtos da Amazon)\n* **ExcelJS** (geração e leitura de arquivos Excel)\n* **Redis** (caching)\n* **PostgreSQL** (banco de dados relacional)\n* **Swagger** (documentação de APIs)\n\n---\n\n## 🔧 Ferramentas Adicionais\n* **Jest** (testes unitários e de integração)\n* **Docker Compose** (gerenciamento de containers em ambientes de desenvolvimento e produção)\n* **Bcrypt** (hash de senhas e autenticação)\n* **OpenAPI (Swagger)** (para documentação e testes das APIs)\n* **Axios** (para comunicação HTTP com APIs externas)\n\n---\n\n## 📈 Funcionalidades\n* **Consulta de Produtos via SP-API**: Permite consultar produtos diretamente da Amazon usando credenciais da Amazon SP-API.\n* **Scraping de Produtos**: Obtém detalhes de produtos através de scraping de páginas da Amazon para capturar dados adicionais.\n* **Geração de Planilhas Excel**: Exporta dados obtidos em formato Excel, facilitando o uso offline e análises detalhadas.\n* **Armazenamento em Banco de Dados**: Salva os dados em um banco de dados PostgreSQL para fácil acesso e futuras consultas.\n\n---\n\n## 🔐 Serviço de Autenticação\nO 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.\n\n---\n\n## 📝 Serviço de Consulta\nRealiza 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.\n\n---\n\n## 🖥️ Serviço de Web Scraping\nPara 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.\n\n---\n\n## 💾 Serviço de Exportação para Excel\nUtilizando 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.\n\n---\n\n## 📊 Cobertura de Testes\n* **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.\n* **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.\n\n---\n\n## 💻 Como Rodar Localmente\n1. **Pré-requisitos**:\n   * Docker e Docker Compose instalados\n   * Credenciais da Amazon SP-API configuradas\n\n2. **Instalar Dependências**:\n   ```bash\n   npm install\n   ```\n\n3. **Configurar Variáveis de Ambiente**:\n   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.\n\n4. **Iniciar o Docker Compose**:\n   ```bash\n   docker-compose up -d\n   ```\n\n5. **Iniciar o Servidor**:\n   ```bash\n   npm run start:dev\n   ```\n\n6. **Acessar o Swagger para Documentação**:\n   Acesse `http://localhost:3000/api` para explorar a documentação da API e testar os endpoints.\n\n---\n\n## 🎯 Contribuições\nContribuições são bem-vindas! Se encontrar bugs ou desejar implementar novas funcionalidades, abra um **Pull Request** ou **Issue**.\n\n**Como Contribuir**:\n1. Faça um fork do repositório.\n2. Crie uma branch: `git checkout -b feature/nova-funcionalidade`.\n3. Faça suas alterações e adicione commits.\n4. Envie um Pull Request.\n\n---\n\n## 📞 Contato\nPara dúvidas ou sugestões, entre em contato:\n\n**Email**: ikauedeveloper@gmail.com  \n**LinkedIn**: [ikauematos](https://www.linkedin.com/in/ikauematos/)  \n\n--- ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikauematos%2Famazon-integration-sp-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikauematos%2Famazon-integration-sp-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikauematos%2Famazon-integration-sp-api/lists"}