প্রকল্প সম্পর্কে
Real-time Visitor Counter in Turbo Monorepo একটি ওপেন-সোর্স প্রজেক্ট যা WebSockets ব্যবহার করে লাইভ ভিজিটর ট্র্যাকিং প্রদর্শন করে। অ্যাপ্লিকেশনটি প্রতিটি URL "রুম"-এর জন্য অনন্য ভিজিটর গণনা করে এবং সক্রিয় সমস্ত ুমের জন্য মোট গণনা করে।
আর্কিটেকচার: প্রজেক্টটি Turborepo মনোরেপো লেআউট অনুসরণ করে। ফ্রন্টএন্ড client/ ডিরেক্টরিতে Vue 3 + Vite অ্যাপ্লিকেশন হিসেবে অবস্থিত। ব্যাকএন্ড server/ ডিরেক্টরিতে Cloudflare Worker হিসেবে অবস্থিত, যা Durable Objects দ্বারা স্থায়ী এবং রিয়েল-টাইম অবস্থা পরিচালনা করে। স্তরগুলির মধ্যে যোগাযোগ WebSockets এর মাধ্যমে ঘটে।
বৈশিষ্ট্য:
- বর্তমান ব্রাউজার URL অনুযায়ী প্রতি রুমের ভিজিটর গণনা
- সমস্ত একই ময়ে সক্রিয় রুমের জন্য বৈশ্বিক ভিজিটর গণনা
- ডাইনামিক পরিবেশ সুইচিং: ডেভেলপমেন্টে ws://localhost:8787 এবং প্রোডাকশনে wss:// কনফিগার করা URL ব্যবহার করে
- turbo dev এর মাধ্যমে হট-রিলোড ডেভ সার্ভার
টেক স্ট্যাক:
- ফ্রন্টএন্ড: Vue 3, Vite
- ব্যাকএন্ড: Cloudflare Workers, Cloudflare Durable Objects
- মনোরেপো অর্কেস্ট্রেশন: 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
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.