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

Void Presence Web হলো Void Presence ইকোসিস্টেমের কেন্দ্রীয় হাব, যা Windows-এর জন্য একটি Discord Rich Presence ম্যানেজার। Next.js 16 (App Router), React 19, TypeScript এবং SCSS দিয়ে নির্মিত, এই অ্যাপ্লিকেশনটি শেষ ব্যবহারকারীদের জন্য কোড না লিখে প্রেজেন্স কাস্টমাইজেশন আবিষ্কার ও পরিচালনার একটি নিখুঁত ইন্টারফেস সরবরাহ করে। মূল ব্যবহারকারী-মুখী বৈশিষ্ট্যগুলির মধ্যে রয়েছে: - সার্চ, ফিল্টারিং, লাইভ প্রিভিউ কার্ড এবং এক-ক্লিকে JSON ডাউনলোড বা ক্লিপবোর্ড কপি সহ কনফিগ ব্রাউজার - প্রিভিউ সহ কাস্টম Discord স্ট্যাটাস চক্রের জন্য স্ট্যাটাস ব্রাউজার - ডিপ লিংকের মাধ্যমে এক-ক্লিক ইনস্টলেশন অফার করা প্লাগইন রেজিস্ট্রি (`voidpresence://install-plugin?url=…`) - `/plugins/docs`-এ সম্পূর্ণ প্লাগইন ডেভেলপমেন্ট ডকুমেন্টেশন - আপলোড করা কনফিগ এবং ক্লাউড সিঙ্কের জন্য অথর ID দেখানো প্রোফাইল পেজ - next-auth v5-এর মাধ্যমে Discord এবং Steam OAuth অথেন্টিকেশন - কনফিগ, অথর এবং অ্যানালিটিক্সের জন্য পাবলিক REST API (v0 এবং v1) - Recharts দ্বারা চালিত ডাউনলোড পরিসংখ্যান চার্ট সহ রিলিজ সময়সূচী পেজ টেক স্ট্যাক আধুনিক ফ্রন্টএন্ড অনুশীলনের উপর জোর দেয়: কনফিগ এবং প্রোফাইল স্টোরেজের জন্য Firebase, সেশন স্টোরেজের জন্য Upstash Redis, হোস্টিং এবং অ্যানালিটিক্সের জন্য Vercel এবং UI ফ্রেমওয়ার্ক ছাড়া একটি কাস্টম SCSS ডিজাইন সিস্টেম। একটি স্বয়ংক্রিয় ম্যানিফেস্ট জেনারেশন স্ক্রিপ্ট (`npm run build:manifest`) `plugins/` ডিরেক্টরি থেকে প্লাগইন মেটাডেটা একটি ভোগযোগ্য JSON ফাইলে একত্রিত করে। নিরাপত্তার দিক থেকে, প্ল্যাটফর্মটি শুধুমাত্র প্রেজেন্স কনফিগারেশন ডেটা (বাটন পেয়ার, স্ট্যাটাস/ইমেজ চক্র, টাইটেল, বিবরণ, টাইমস্ট্যাম্প, ডাউনলোড কাউন্টার এবং অথর ডিসপ্লে নাম) সংরক্ষণ করে এবং স্পষ্টভাবে Discord টোকেন, পাসওয়ার্ড, OAuth কী, ব্যক্তিগত বার্তা বা সিস্টেম ডেটা সংরক্ষণ এড়িয়ে চলে। ডেভেলপাররা `npm install && npm run dev` দিয়ে প্রকল্পটি স্থানীয়ভাবে চালাতে পারেন। বিল্ড পাইপলাইন (`npm run build`) Next.js প্রোডাকশন বিল্ডের আগে প্লাগইন ম্যানিফেস্ট পুনর্জন্ম করে। Firebase, Redis, NextAuth এবং Steam-এর জন্য পরিবেশগত ভেরিয়েবল `.env.local`-এর মাধ্যমে কনফিগার করা হয়। প্লাগইন প্রকাশ একটি সহজ PR কর্মপ্রবাহ অনুসরণ করে: প্রয়োজনীয় মেটাডেটা (`author`, `description`, `tags`, `preview.slides`) সহ `plugins/`-এর অধীনে একটি `.js` ফাইল বা ফোল্ডার যোগ করুন, একটি পুল রিকোয়েস্ট খুলুন এবং মার্জের পরে ম্যানিফেস্ট স্বয়ংক্রিয়ভাবে পুনর্গঠিত হয়, যা প্লাগইনটিকে `/plugins`-এ ইনস্টল বোতাম সহ প্রদর্শন করে।