12

Pitch: Sistema Open source e 100% free para quem tem grupo de ofertas no WhatsApp.

Olá a todos, estou aqui para divulgar meu projeto open source e sem intuíto nenhum de ganhar dinhero com ele.

Ele é um projeto de um scraper que busca produtos no Mercado Livre através do link de afiliado, e armazena os seus dados no banco para ser postado posteriormente em algum ou alguns grupos de whatsapp.

Ele é um projeto amador e não tem da melhor arquitetura nem o código mais limpo, no entanto estou abrindo sua fonte para quem tiver interesse em usar para benefício próprio ou para contribuir com a comunidade.

Todos são encorajados para usa-lo e escrever código para melhorar ele.

A quem possa interessar:
• Ele é feito em Next.js + Typescript
• Usa Docker
• Tem pipelines para fazer deploy em um servidor em remoto, caso queira rodar ele em produção e como um projeto profissional.
• Tem uma breve cobertura de testes de integração com Vitest (os testes definitivamente precisam ser melhorados e expandidos para cobrir mais partes do sistema).
• Usa Python para scraping
• Usa Baileys diretamente (sem Evolution ou whatsapp-web.js)

O link do repositório está aqui:
https://github.com/FernandoRhenan/nandobot

Tela de Scraping
Tela de Publicação

Carregando publicação patrocinada...
4

Muito bom e complexo de fazer, eu pensei em fazer um scraper parecido há um tempo somente de produtos na área tech (hardware, periféricos), mas deu um baita trabalho só pra fazer de 1 produto na kabum na epoca e acabei desistindo.
Parabéns pela iniciativa e pelo projeto!

2
1
1

Obrigado por comentar! Sobre o Docker:
Atualmente ele usa por partes o Docker. Pra quem quer desenvolver localmente ele usa Docker com as seguintes partes:

  • Postgres
  • Redis
  • RedisInsight (UI do Redis)

Isso é suficiente até o momento para desenvolver. Embora futuramente o projeto poderia ganhar um Dev Container e ficar integralmente sendo desenvolvido dentro de um Container Docker. Mas isso não é papo para agora.

Agora, quem quer usar em produção, rodando em servidor ou VPS o Docker é utilizado da seguinte forma:

  • Nginx, usando Bind Mounts do Docker para compartilhar os arquivos entre containers.
  • NextJs. Build do NextJs + (WebSocket para envio do QR Code de conexão do WhatsApp). Aqui na seção Decisões técnicas eu explico o porquê de WebSocket para algo "simples".
  • Redis. O Redis aqui poderia ser colocado em um servidor separado, assim como o Postgres, mas mesmo assim decidi deixa-lo rodando no servidor Host por motivos de simplicidade, já que atualmente não há motivos para rodar ele em outro servidor de fato.

Espero ter exclarecido algumas dúvidas e explicado brevemente como o app funciona.
Saudações.