প্রকল্প সম্পর্কে
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 প্রতিষ্ঠানদের একটি সহজ, প্রাইভেসি-সম্মত উপায় দেয় যাতে তারা বাহ্যিক অ্যানালিটিক্স প্রদানকারীদের নির্ভর না করে পাঠকদের জড়িত হওয়ার বুঝতে পারে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.