À propos du projet
Ce projet est un système de surveillance des stocks et de notification de réapprovisionnement spécialement conçu pour les cigares TimeCigar, adapté à une utilisation personnelle et à petite échelle. La fonction principale du système est de surveiller l'état des stocks de produits spécifiques (tels que les tubes à cigares, les cigares individuels, etc.) et d'envoyer des notifications aux abonnés via QQ e-mail lorsque le produit passe d'un état de rupture de stock à un état de disponibilité.
Sur le plan architectural, il adopte une conception séparée du front-end et du back-end ainsi qu'une architecture sans serveur : le front-end est une page d'état public hébergée par GitHub Pages, qui affiche les données de stock en temps réel et fournit un formulaire d'abonnement avec code d'invitation ; le back-end utilise Cloudflare Worker associé à la base de données D1 pour stocker de manière privatisée les adresses e-mail des abonnés et les jetons de désinscription, garantissant ainsi la sécurité et la confidentialité. La logique de surveillance et de notification est pilotée par une tâche planifiée GitHub Actions qui vérifie l'état des stocks toutes les 5 minutes et envoie des e-mails via QQ SMTP. Les informations sensibles (telles que le code d'autorisation SMTP, le code d'invitation) sont stockées dans GitHub Secrets ou Cloudflare Worker Secrets, évitant ainsi toute exposition dans le dépôt de code ou la page front-end.
Le processus de déploiement comprend : la demande de code d'autorisation SMTP pour QQ e-mail, la création de la base de données Cloudflare D1 et le déploiement de Worker, la configuration des Secrets GitHub Actions ainsi que l'exécution du workflow de déploiement. Le système prend en charge un mécanisme d'abonnement avec code d'invitation pour éviter les abus liés aux inscriptions ouvertes, tout en garantissant que les adresses e-mail des abonnés restent invisibles les unes pour les autres. Il convient de noter qu'en raison des limitations du plan gratuit GitHub Actions, la fréquence de surveillance est fixée à au moins 5 minutes, ce qui ne permet pas de garantir une réponse en temps réel pour les achats, et que les e-mails de réapprovisionnement ne servent qu'à titre d'alerte, l'état réel des stocks étant celui affiché sur le site officiel.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.