À propos du projet

Real-time Visitor Counter in Turbo Monorepo est un projet open source qui démontre le suivi en direct des visiteurs via WebSockets. L'application compte les visiteurs uniques par « salle » URL et agrège les totaux sur toutes les salles actives. Architecture : Le projet suit une structure monorepo Turborepo. Le frontend se trouve dans client/ sous forme d'une application Vue 3 + Vite. Le backend réside dans server/ comme un Cloudflare Worker soutenu par Durable Objects pour un état persistant et en temps réel. La communication entre les couches s'effectue via WebSockets. Fonctionnalités : - Comptage des visiteurs par salle basé sur l'URL du navigateur actuel - Comptage global des visiteurs sur toutes les salles actives simultanément - Changement dynamique d'environnement : développement utilise ws://localhost:8787, production utilise wss:// URLs configurés - Serveur de développement avec rechargement à chaud via turbo dev Stack technique : - Frontend : Vue 3, Vite - Backend : Cloudflare Workers, Cloudflare Durable Objects - Orchestration monorepo : Turborepo - Gestionnaire de paquets : pnpm Prérequis : - Node.js et pnpm - Un compte Cloudflare avec Workers activés - CLI wrangler installé globalement - Turborepo installé globalement Installation et configuration : 1. Cloner le dépôt et exécuter pnpm install depuis la racine. 2. Installer turbo et wrangler globalement via pnpm. 3. Authentifier wrangler avec wrangler login. 4. Configurer wrangler.toml dans les répertoires client/ et server/. 5. Exécuter turbo dev pour démarrer le serveur de développement et le worker local. 6. Visiter http://localhost:5175 dans plusieurs onglets ou appareils pour observer les mises à jour en temps réel. Le déploiement est géré via turbo deploy depuis le répertoire apps/worker concerné. Démo : https://wsdemo.cvyl.me Dépôt : cvyl/cloudflare-websocket-livecount