منصوبے کے بارے میں

Turbo Monorepo میں Real-time Visitor Counter ایک اوپن سورس پروجیکٹ ہے جو WebSockets کا استعمال کرتے ہوئے لائیو وزیٹر ٹریکنگ کی نشاندہی کرتا ہے۔ یہ ایپلی کیشن ہر URL "room" کے لیے منفرد وزیٹرز کی گنتی کرتی ہے اور تمام فعال کمروں کے مجموعی اعداد و شمار اکٹھے کرتی ہے۔ Architecture: یہ پروجیکٹ Turborepo monorepo لے آؤٹ پر مبنی ہے۔ فرنٹ اینڈ client/ میں ایک Vue 3 + Vite ایپلی کیشن کے طور پر موجود ہے۔ بیک اینڈ server/ میں ایک Cloudflare Worker کے طور پر ہے جس میں مستقل، ریئل ٹائم اسٹیٹ کے لیے Durable Objects استعمال کیے گئے ہیں۔ تہوں کے درمیان مواصلات WebSockets کے ذریعے ہوتا ہے۔ خصوصیات: - موجودہ براؤزر URL کی بنیاد پر فی کمرہ وزیٹر گنتی - تمام بیک وقت فعال کمروں میں عالمی وزیٹر گنتی - متحرک ماحول کی تبدیلی: ڈویلپمنٹ کے لیے ws://localhost:8787 اور پروڈکشن کے لیے wss:// کنفیگر شدہ URLs کا استعمال - turbo dev کے ذریعے ہاٹ رিলোڈ ڈویلپمنٹ سرور ٹیک اسٹیک: - فرنٹ اینڈ: Vue 3, Vite - بیک اینڈ: Cloudflare Workers, Cloudflare Durable Objects - Monorepo orchestration: Turborepo - پیکیج مینیجر: pnpm ضروریات: - Node.js اور pnpm - Workers کے ساتھ فعال Cloudflare اکاؤنٹ - عالمی طور پر انسٹال شدہ wrangler CLI - عالمی طور پر انسٹال شدہ Turborepo انسٹالیشن اور سیٹ اپ: 1. ریپوزٹری کو کلون کریں اور روٹ سے pnpm install چلائیں۔ 2. pnpm کے ذریعے turbo اور wrangler کو عالمی طور پر انسٹال کریں۔ 3. wrangler login کے ذریعے wrangler کی تصدیق کریں۔ 4. client/ اور server/ دونوں ڈائریکٹریوں میں wrangler.toml کو کنفیگر کریں۔ 5. ڈویلپمنٹ سرور اور لوکل ورکر دونوں کو شروع کرنے کے لیے turbo dev چلائیں۔ 6. ریئل ٹائم اپ ڈیٹس دیکھنے کے لیے متعدد ٹیبز یا ڈیوائسز میں http://localhost:5175 پر جائیں۔ ڈیپلائمنٹ متعلقہ apps/worker ڈائریکٹری سے turbo deploy کے ذریعے کی جاتی ہے۔ ڈیمو: https://wsdemo.cvyl.me ریپوزٹری: cvyl/cloudflare-websocket-livecount