প্রকল্প সম্পর্কে

Flarelytics হল একটি ওপেন-সোর্স ওয়েব অ্যানালিটিক্স প্ল্যাটফর্ম, যা দর্শকদের একটি নির্দিষ্ট পেজে কতক্ষণ থাকা ট্র্যাক করতে ডিজাইন করা হয়েছে। এটি বিদ্যমান অ্যানালিটিক্স সার্ভিসগুলিতে প্রাইভেসি সমস্যা এবং "time-on-page" মেট্রিক্সের অভাব দূর করার জন্য তৈরি করা হয়েছে। **মূল বৈশিষ্ট্যাবলী** - ব্রাউজার-সাইড জাভাস্ক্রিপ্ট স্নিপেট যা প্রতিটি দর্শকের জন্য একটি অনন্য UUID তৈরি করে এবং *open* এবং *close* ইভেন্টগুলি ব্যাকএন্ডে পাঠায়। - ব্যাকএন্ড TypeScript-এ লেখা হয়েছে এবং Cloudflare Workers-এ চলছে, যা ইভেন্ট ইনজেস্ট এবং ড্যাশবোর্ড কুয়েরির জন্য একটি সর্বনিম্ন HTTP API প্রদান করে। - ইভেন্টগুলি ডাটাবেসে সংরক্ষণ করে; প্রকল্পটি মূলত MongoDB ব্যবহার করে এবং বেশি স্কেলেবিলিটির জন্য PlanetScale/MySQL-এ পরিবর্তন করা হচ্ছে। - প্রতিটি ডিপ্লয়মেন্টে একটি ডোমেইন সমর্থন করে (ভবিষ্যতে বহু-ডোমেইন সমর্থন পরিকল্পনা করা হয়েছে)। - প্রাইভেসি-ফার্স্ট পদ্ধতি: কোনও তৃতীয় পক্ষের ট্র্যাকিং নেই, সম্পূর্ণ সেলফ-হোস্টেড এবং EU নিয়মাবলীর সাথে সামঞ্জস্যপূর্ণ। **আর্কিটেকচার** 1. **ব্রাউজার স্ক্রিপ্ট** (`/analytics`): লক্ষ্য ওয়েবসাইটে এম্বেড করা হয়, যা পেজ লোড/আনলোড ইভেন্টগুলি রেকর্ড করে এবং ওয়ার্কারে পাঠায়। 2. **Cloudflare Worker** (`/src`): ইভেন্টগুলি গ্রহণ করে, ডাটাবেসে লিখে এবং ড্যাশবোর্ডের জন্য ডেটা আগ্রহী করে। 3. **ডাটাবেস**: বর্তমানে MongoDB, কিন্তু রিলেশনাল কুয়েরি এবং নির্ভরযোগ্যতার জন্য PlanetScale (MySQL সামঞ্জস্যপূর্ণ) এ পরিবর্তন করা হচ্ছে। **ডেভেলপমেন্ট স্ট্যাটাস** - বুদাপেস্ট টেকনোলজি এবং ইকোনমিক বিশ্ববিদ্যালয়ের Google Developer Student Club-এর অধীনে সক্রিয় ডেভেলপমেন্ট চলছে। - এখনও প্রোডাকশন-রেডি নয়; রিপোজিটরিতে অবদান নির্দেশিকা এবং ডেভেলপমেন্ট সেটআপ রয়েছে। **শুরু করার জন্য** - ফ্রি Cloudflare এবং PlanetScale অ্যাকাউন্ট তৈরি করুন। - Node.js ইনস্টল করুন (nvm ব্যবহার করা প্রস্তাবিত) এবং `npm install` চালান। - স্থানীয় টেস্টিংয়ের জন্য `.dev.vars`-এ সেক্রেট কনফিগার করুন বা প্রোডাকশনের জন্য Cloudflare UI ব্যবহার করুন। - `npm run dev` দিয়ে স্থানীয় Workers সার্ভার চালু করুন। **অবদান দিন** - GitHub রিপোজিটরি বা প্রজেক্ট বোর্ড থেকে একটি ওপেন ইস্যু বেছে নিন। - রিপোজিটরি ফোর্ক করুন, ডেভেলপমেন্ট সেটআপ অনুসরণ করুন এবং GitHub flow ব্যবহার করে পুল রিকোয়েস্ট জমা দিন। **লাইসেন্স** - GPLv3। Flarelytics প্রতিষ্ঠানদের একটি সহজ, প্রাইভেসি-সম্মত উপায় দেয় যাতে তারা বাহ্যিক অ্যানালিটিক্স প্রদানকারীদের নির্ভর না করে পাঠকদের জড়িত হওয়ার বুঝতে পারে।