WebTracker
Este repositório contém o frontend e o controlador do aplicativo
Uma ferramenta simples para rastrear qualquer site e notificá-lo quando esse site for alterado.
Tecnologias utilizadas:
- Node.js/JS: usado com o Puppeteer para executar o scrapper inicial do site (hospedado no Azure).
- C#: usado para a função cronometrada do Azure que é executada a cada minuto para detectar quaisquer alterações e para o controlador principal no back-end.
- MongoDB: Usado para armazenar todos os dados de sites e e-mails.
- ASP.Net MVC, HTML, CSS, JS: Usado para criar o frontend do site.
- Originalmente implantado em uma máquina virtual Linux na nuvem
Outros repositórios relacionados (usei a arquitetura de microsserviços para implementar a separação de interesses):
- A função que faz a raspagem inicial: é executada quando uma solicitação de rastreamento é enviada, raspa o site e armazena seus dados em um MongoDB.
- A função acionada por tempo: esta função é executada a cada minuto, faz outra varredura em cada site do banco de dados e envia um sinal quando o conteúdo do site muda.
Como executar localmente:
Infelizmente, decidi parar de executar as funções do Azure na nuvem por questões de custo, mas você ainda pode executá-las localmente.
- Clone este repositório em sua máquina local e usando um terminal, navegue até "WebTrackerCoreUI/WebTrackerCoreUI" e execute:
execução dotnet
- Abra https://localhost:5001 no seu navegador e ignore as questões de segurança (confie em mim)
- Clone A função que faz a raspagem inicial
- Navegue para trackerAutomation de outro terminal e execute:
instalação npm
npm início
- Você precisará do URL obtido no terminal mais tarde
- Clonar a função acionada pelo tempo
- Navegue para webTrackerContinuouswebTrackerContinuous de um terceiro terminal
- Edite webTrackerContinuouswebTrackerContinuousFunction1.cs em seu editor de texto favorito e atualize:
- O e-mail e a senha do remetente do e-mail
- o link func do Azure da etapa 5
- Após salvar, execute o seguinte comando em webTrackerContinuouswebTrackerContinuous:
início da função
- Edite WebTrackerCoreUIQueueAppProgram.cs em seu editor de texto favorito e atualize:
- o link func do Azure da etapa 5
- Volte para a guia https://localhost:5001 que você abriu na etapa 2 e tudo deverá estar funcionando conforme o esperado