WebTracker
Ce dépôt contient le frontend et le contrôleur de l'application
Un outil simple pour suivre n'importe quel site Web et vous avertir lorsque ce site Web change.
Technologies utilisées :
- Node.js/JS : utilisé avec Puppeteer pour exécuter le scrapper de site Web initial (hébergé dans Azure).
- C# : utilisé pour la fonction Azure chronométrée qui s'exécute toutes les minutes pour détecter tout changement, et pour le contrôleur principal du backend.
- MongoDB : utilisé pour stocker toutes les données du site Web et des e-mails.
- ASP.Net MVC, HTML, CSS, JS : Utilisés pour créer le frontend du site Web.
- Initialement déployé sur une machine virtuelle Linux dans le cloud
Autres dépôts associés (utilisation de l'architecture Microservice pour implémenter la séparation des préoccupations) :
- La fonction qui effectue le scraping initial : elle s'exécute lorsqu'une demande de suivi est soumise, elle scrape le site Web et stocke ses données dans un MongoDB.
- La fonction déclenchée par le temps : cette fonction s'exécute toutes les minutes, effectue un autre scraping sur chaque site Web de la base de données et envoie un signal lorsque le contenu du site Web change.
Comment exécuter localement :
Malheureusement, j'ai décidé d'arrêter d'exécuter les fonctions Azure sur le cloud pour des raisons de coût, mais vous pouvez toujours les exécuter localement.
- Clonez ce dépôt sur votre machine locale et à l'aide d'un terminal, accédez à "WebTrackerCoreUI/WebTrackerCoreUI", puis exécutez :
exécution dotnet
- Ouvrez https://localhost:5001 dans votre navigateur et ignorez les problèmes de sécurité (faites-moi confiance)
- Clone La fonction qui effectue le scraping initial
- Accédez à trackerAutomation depuis un autre terminal et exécutez :
installation npm
npm démarrer
- Vous aurez besoin de l'URL que vous obtenez dans le terminal plus tard
- Cloner la fonction déclenchée par le temps
- Accédez à webTrackerContinuouswebTrackerContinuous à partir d'un troisième terminal
- Modifiez webTrackerContinuouswebTrackerContinuousFunction1.cs dans votre éditeur de texte préféré et mettez à jour :
- L'e-mail et le pass de l'expéditeur de l'e-mail
- le lien de fonction Azure de l'étape 5
- Après l'enregistrement, exécutez la commande suivante dans webTrackerContinuouswebTrackerContinuous :
démarrage de la fonction
- Modifiez WebTrackerCoreUIQueueAppProgram.cs dans votre éditeur de texte préféré et mettez à jour :
- le lien de fonction Azure de l'étape 5
- Revenez à l'onglet https://localhost:5001 que vous avez ouvert à l'étape 2 et tout devrait fonctionner comme prévu