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

সাইটিংস একটি হালকা, কুকিহীন পেজভিউ অ্যানালিটিক্স লাইব্রেরি যা টাইপস্ক্রিপ্টে লেখা। এটি ভিজিট ট্র্যাক করে কোনো তথ্য ব্যবহারকারীর ডিভাইসে লেখা ছাড়াই—কুকি, localStorage, বা ফিংগারপ্রিন্টিং নেই—এবং সমস্ত রো সরাসরি আপনার নিজের ডেটাবেজে সংরক্ষণ করে। ডিজাইন প্রতিটি ভিজিটকে একজন "সাইটিং" হিসেবে বিবেচনা করে: এটি একটি পর্যবেক্ষণ যে একটি ভিজিট ঘটেছে, কোনো পরিচয়ের সাথে যুক্ত নয়। ভিজিটর শনাক্তকরণে IP, ইউজার এজেন্ট, সিক্রেট কী এবং UTC দিন থেকে derived একটি সল্টেড SHA-256 হ্যাশ ব্যবহার করা হয়, যা ১২৮ বিট পর্যন্ত truncated করা হয় এবং দৈনিক পরিবর্তিত হয়। লাইব্রেরি কঠোর ডেটা সীমা বজায় রাখে: allowlist-এর বাইরের query parameter প্রত্যাখ্যান করা হয়, referrer শুধুমাত্র hostname সংরক্ষণ করে, এবং কোনো কাস্টম ইভেন্ট payload নেই—বেকনের শরীরে কোনো ফিল্ড যোগ করলে নতুন মেট্রিক রেকর্ড করার পরিবর্তে ৪০০ ত্রুটি ফেরত দেয়। এটি সেই দুটি ট্রাফিক আধাংশের মধ্যে পার্থক্য করে যা অধিকাংশ টুল একত্রিত করে। মানব ভিজিটররা প্রতিটি নেভিগেশনে একটি মাত্র `sendBeacon` অনুরোধ পাঠায়, যা সার্ভার-সাইড থেকে গণনা করা হয়। ক্রলার এবং AI এজেন্ট (যেমন gptbot, claudebot, perplexitybot, telegram-preview) ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট কখনোই চালানো হয় না, তাই এদের family-name classification ব্যবহার করে middleware-তে শনাক্ত এবং গণনা করা হয়, raw user-agent স্ট্রিংয়ের পরিবর্তে। এটি বাস্তবসম্মতভাবে পরিমাপ করতে সহায়তা করে যে AI মডেলগুলো কি সত্যিই আপনার কন্টেন্ট crawler করেছে। কোর প্যাকেজ যেখানেই চলতে পারে যেখানে একটি স্ট্যান্ডার্ড Request/Response জোড়া এবং Web Crypto বিদ্যমান—Node, Deno, Bun, Vercel Edge, Cloudflare Workers। অফিশিয়াল ইন্টিগ্রেশনগুলোর মধ্যে রয়েছে `@sightings/next` (Next.js App Router handler এবং middleware) এবং `@sightings/prisma` (Prisma adapter with schema model)। কাস্টম স্টোরেজ অ্যাডাপ্টার একটি মাত্র `record()` পদ্ধতি এবং optional একটি `summary()` পদ্ধতি সরবরাহ করে বাস্তবায়ন করা যেতে পারে। প্রধান কনফিগারেশন অপশনগুলো নিয়ন্ত্রণ করে: বেস API পথ, পথ-লেভেল রিডাকশন (যেমন `/admin` এবং `/invite` সাবট্রি বাদ দেওয়া), query-parameter allowlist (ডিফল্টভাবে `utm_*` এবং `ref`), ক্রলার family detection, ভিজিটর হ্যাশ উইন্ডো (ডিফল্টভাবে দৈনিক, অথবা প্রতিকৈ), IP এবং কান্ট্রি হেডার precedence, এবং ত্রুটি পরিচালনা। একটি built-in `api.summary()` query ইন্টারফেস bot/human filtering সহ তারিখের পরিসর over aggregated views প্রদান করে। SSR context, non-HTTP frameworks, অথবা backfills-এর জন্য সরাসরি রেকর্ডিং পদ্ধতিগুলোও exposed করা আছে। রিপোজিটরি changesets ব্যবহার করে এর তিনটি প্যাকেজের lockstep versioning করে এবং CI এর মাধ্যমে provenance-linked tarball প্রকাশ করে। বিভাগ: data | উপবিভাগ: analytics-bi