Skip to content

প্রাপক পোর্টাল

প্রাপক পোর্টাল হলো badges.ninja/me এ একটি স্ব-পরিষেবা এলাকা যেখানে যার কাছে একটি ব্যাজ প্রদান করা হয়েছে সে সাইন-ইন করতে পারে (কোনো অ্যাকাউন্টের প্রয়োজন নেই), badges.ninja-এর মাধ্যমে প্রাপ্ত প্রতিটি ক্রেডেনশিয়াল ব্রাউজ করতে পারে এবং সেগুলি শেয়ার করতে একটি পাবলিক প্রোফাইল তৈরি করতে পারে।

এটি ইস্যুয়ার ড্যাশবোর্ড থেকে একটি আলাদা অভিজ্ঞতা:

অডিয়েন্সURLপ্রমাণীকরণ
ইস্যুয়ার (যিনি ব্যাজ প্রদান করেন)/dashboardপ্রকৃত অ্যাকাউন্ট (ইমেল + পাসওয়ার্ড / SSO)
প্রাপক (যিনি ব্যাজ অর্জন করেন)/meইমেলের মাধ্যমে ম্যাজিক-লিঙ্ক — কোনো অ্যাকাউন্ট নেই, কোনো পাসওয়ার্ড নেই
যেকেউ (যাচাইকারী)/awards/<guid>, /verify/<guid>, /u/<handle>কিছুই না — সম্পূর্ণ পাবলিক

কোনো পাসওয়ার্ড কেন নয়?

প্রাপকদের কেবল তাদের দেওয়া ব্যাজগুলি দেখতে আরেকটি লগইন মনে রাখতে হবে না। আমরা তাদের পরিবর্তে একটি এককালীন লিঙ্ক ইমেল করি।

প্রাপকরা কীভাবে সাইন-ইন করেন

1. আপনার ইমেল লিখুন

badges.ninja/me এ যান। পৃষ্ঠাটি একটি একক ইমেল ক্ষেত্র দেখায়:

Recipient portal sign-in form

যে ইমেল ঠিকানায় ব্যাজ পাওয়া গেছে তা লিখুন এবং Send me a sign-in link এ ক্লিক করুন।

আমরা একটি "আপনার ইনবক্স চেক করুন" বার্তা দিয়ে প্রতিক্রিয়া জানাই, সেই ঠিকানার জন্য কোনো অ্যাওয়ার্ড আছে কিনা তা নির্বিশেষে। এটি একটি নির্দিষ্ট ইমেল প্ল্যাটফর্মে কোনো ইস্যুয়ার থেকে কখনও একটি ব্যাজ পেয়েছে কিনা তা ফাঁস হওয়া এড়ায়।

2. ম্যাজিক লিঙ্ক খুলুন

যদি ঠিকানার জন্য অ্যাওয়ার্ড থাকে, আপনি একটি একক বোতাম সহ "Sign in to your Badges Ninja portal" শিরোনামের একটি ইমেল পাবেন:

Open my portal

লিঙ্কটি 24 ঘন্টা এর জন্য বৈধ এবং শুধুমাত্র একবার কাজ করে। আপনি ক্লিক করার আগে যদি এটি মেয়াদ উত্তীর্ণ হয়, কেবল একটি নতুন অনুরোধ করুন — কোনো জরিমানা নেই।

3. আপনি ভিতরে

লিঙ্কে ক্লিক করলে badges.ninja/me?token=… খোলে। পৃষ্ঠাটি টোকেনটিকে একটি 1-ঘন্টার সেশন টোকেনের জন্য বিনিময় করে (শুধুমাত্র আপনার ব্রাউজারের sessionStorage এ সংরক্ষিত, কখনও কুকিতে নয়) এবং আপনাকে ব্যাজ ওয়ালে পুনঃনির্দেশিত করে। আপনি ট্যাব বন্ধ করলে বা এক ঘন্টার কার্যকলাপের পরে সেশনটি মেয়াদ উত্তীর্ণ হয়, যা আগে ঘটে।

ব্যাজ ওয়াল

একবার সাইন-ইন হলে, পোর্টাল দেখায়:

  • উপরে আপনার হ্যান্ডেল (যেমন, badges.ninja/u/jane-3a4f) — স্বতন্ত্রতার জন্য আপনার ইমেলের লোকাল-পার্ট থেকে 4টি র‍্যান্ডম অক্ষর যোগ করে স্বয়ংক্রিয়ভাবে প্রস্তাবিত। কিছু সুন্দর বাছাই করতে Change এ ক্লিক করুন।
  • badges.ninja-এর মাধ্যমে আপনার ইমেলে জারি করা প্রতিটি ব্যাজের একটি গ্রিড, নতুন প্রথম, দৃশ্যমানভাবে কার্ড দ্বারা গোষ্ঠীবদ্ধ।
  • প্রতি-কার্ড ক্রিয়া:
    • Open — পাবলিক অ্যাওয়ার্ড পৃষ্ঠায় যান (ইস্যুয়ার/যাচাইকারী যা দেখে)।
    • Hide from profile / Show on profile — টগল করুন যে এই ব্যাজটি আপনার পাবলিক প্রোফাইলে (/u/<handle>) দেখাবে কিনা। অ্যাওয়ার্ডটি নিজেই বৈধ থাকে; আপনি কেবল পাবলিকভাবে কী তালিকাভুক্ত হয় তা নির্বাচন করেন।

Recipient portal badge wall

পেজিনেশন

একবারে 50টি অ্যাওয়ার্ড লোড হয়। আপনার আরও থাকলে, নীচে একটি Load more বোতাম প্রদর্শিত হয়; আমরা ব্যাকএন্ডে স্থিতিশীল কার্সর দ্বারা পেজিনেট করি, তাই আপনি স্ক্রল করার সময় ক্রম পরিবর্তন হয় না।

সাইন আউট

হেডারের Sign out বোতাম sessionStorage থেকে সেশন টোকেন সাফ করে। ট্যাব বন্ধ করা স্বয়ংক্রিয়ভাবে একই কাজ করে।

আপনার পাবলিক প্রোফাইল

একবার আপনার কাছে একটি হ্যান্ডেল থাকলে, badges.ninja/u/<handle> এ আসা যেকেউ আপনার ব্যাজের একটি পরিষ্কার গ্রিড দেখতে পায়, আপনার প্রদর্শন নাম এবং ব্যাজ গণনা সহ, প্লাস প্রতি-ব্যাজ কার্ড যা ক্লিকে পাবলিক অ্যাওয়ার্ড পৃষ্ঠা খোলে।

Recipient public profile

পাবলিক প্রোফাইল শুধুমাত্র সেই ব্যাজগুলি দেখায় যা আপনি লুকাননি। আপনার /u/<handle> URL শেয়ার করতে আপনাকে সাইন-ইন করতে হবে না — এটি একটি সম্পূর্ণ পাবলিক পৃষ্ঠা যা আপনার।

একটি হ্যান্ডেল নির্বাচন

হ্যান্ডেল অবশ্যই 3–20 অক্ষর হতে হবে, শুধুমাত্র a-z 0-9 _ -। এগুলি কেস-ইনসেনসিটিভ এবং badges.ninja-এ বিশ্বব্যাপী অনন্য। আপনি যে হ্যান্ডেল চান সেটি যদি নেওয়া হয়, আপনি একটি স্পষ্ট ত্রুটি পাবেন এবং অন্য কিছু বেছে নিতে পারবেন।

আপনি পোর্টাল থেকে যেকোনো সময়ে আপনার হ্যান্ডেল পরিবর্তন করতে পারেন — নতুনটি অবিলম্বে ক্যানোনিকাল URL হয়ে যায় এবং পুরানোটি অন্য কারো দাবির জন্য উপলব্ধ হয়। আপনি যে বিদ্যমান শেয়ার লিঙ্কগুলি পাঠিয়েছেন (/u/old-handle) পুনঃনির্দেশিত হবে না — তারা কেবল "Profile not found" বলবে।

আপনার ডেটা সরানো (GDPR)

পোর্টালের নীচে একটি Remove my data from Badges Ninja লিঙ্ক আছে। এটি নিম্নলিখিত কাজ করে:

  1. আপনার ইমেল প্রতিস্থাপন করে আপনি পাওয়া প্রতিটি অ্যাওয়ার্ডে একটি অস্বচ্ছ হ্যাশ দিয়ে (যেমন, removed:5f3a8b9c…)। অ্যাওয়ার্ড নিজে অক্ষত থাকে (অ্যাসার্শন JSON, ব্যাজের ছবি, ব্লকচেইন প্রমাণ যদি থাকে) তাই আপনি ক্রেডেনশিয়াল অবৈধ করেন না — ইস্যুয়াররা এখনও আপনার ব্যাজ ধরে রাখেন — কিন্তু আপনি অ-আবিষ্কারযোগ্য হয়ে যান: যেকোনো পোর্টালে আপনার ইমেল অনুসন্ধান কোনো ফলাফল দেয় না এবং আপনার /me সাইন-ইন অ্যাওয়ার্ড খোঁজা বন্ধ করে।
  2. আপনার প্রোফাইল সারি মুছে দেয়, তাই /u/<handle> 404 ফিরিয়ে দেয় এবং হ্যান্ডেলটি অন্য কারো জন্য উপলব্ধ হয়।

এটি অপরিবর্তনীয়। পরিচ্ছন্নতা সম্পূর্ণ হওয়ার আগে আপনি যদি আপনার মন পরিবর্তন করেন তবে আপনাকে একটি নতুন পোর্টাল সেশন (অর্থাৎ, নতুন ম্যাজিক লিঙ্ক) প্রয়োজন হবে।

এটি যা করে না

  • এটি অ্যাওয়ার্ডগুলি মুছে দেয় না। যে ইস্যুয়ার আপনাকে পুরস্কৃত করেছেন তার এখনও একটি রেকর্ড রয়েছে। Open Badges v2 অ্যাসার্শন (JSON ফাইলগুলি /awards/<guid> এ) যাচাইকরণের উদ্দেশ্যে বৈধ থাকে — এটিই স্পেক।
  • আপনি যদি চান একজন ইস্যুয়ার আসলে একটি অ্যাওয়ার্ড মুছে ফেলুক (শুধুমাত্র এটি থেকে আপনার ইমেল আনবাইন্ড না করে), সরাসরি ইস্যুয়ারের সাথে যোগাযোগ করুন।

প্রায়শ জিজ্ঞাসিত

আমার বন্ধু বলে যে তিনি একটি ব্যাজ অর্জন করেছেন কিন্তু এটি দেখা যাচ্ছে না

দুটি সম্ভাবনা:

  1. ইস্যুয়ার একটি ভিন্ন ইমেল ব্যবহার করেছে। অনেক ইস্যুয়ার কোম্পানি ইমেল দ্বারা পুরস্কৃত করেন; সেটি দিয়েও সাইন-ইন করে দেখুন।
  2. অ্যাওয়ার্ডটি প্রাপক পোর্টাল বৈশিষ্ট্যের চেয়ে পুরানো। যে অ্যাওয়ার্ডগুলিতে একটি সেট ছিল সেগুলির জন্য আমরা ইমেল ব্যাকফিল করি, কিন্তু খুব পুরানো অ্যাওয়ার্ডগুলি একজন প্রাপক ইমেল ছাড়াই জারি করা হয়েছিল (প্ল্যাটফর্মে ঐতিহাসিক অ্যাওয়ার্ডের প্রায় 99%)। সেগুলি শুধুমাত্র তাদের সরাসরি /awards/<guid> URL-এর মাধ্যমে দেখা যাবে।

আমি কি Credly / Accredible / অন্যান্য প্ল্যাটফর্ম থেকে ব্যাজ আমদানি করতে পারি?

এখনও নয়। পোর্টাল বর্তমানে শুধুমাত্র badges.ninja-এর মাধ্যমে জারি করা ব্যাজ দেখায়। ক্রস-ইস্যুয়ার সমষ্টি ("Open Badges Backpack" মডেল) 2010-এর দশকের শুরুতে Open Badges-এর একটি প্রধান লক্ষ্য ছিল, কিন্তু বৃহত্তর ইকোসিস্টেম ডি-ফ্যাক্টো সমষ্টি হিসাবে LinkedIn-এ চলে গেছে। আমরা সেই পৃষ্ঠে প্রতিদ্বন্দ্বিতা করার পরিকল্পনা করছি না।

আমি কি আমার LinkedIn প্রোফাইলে একটি ব্যাজ যোগ করতে পারি?

হ্যাঁ — প্রতিটি পাবলিক অ্যাওয়ার্ড পৃষ্ঠায় (/awards/<guid>) একটি Add to LinkedIn profile বোতাম থাকে যখন ইস্যুয়ার তাদের LinkedIn সংস্থা ID সেট করেছে। বোতামটি LinkedIn-এর Add-to-Profile ডিপ লিঙ্ক ব্যবহার করে, তাই ব্যাজটি ম্যানুয়াল কপি-পেস্ট ছাড়াই সরাসরি আপনার Certifications বিভাগে পৌঁছে যায়।

আমার ভিউ গণনা কি আমার কাছে দৃশ্যমান?

প্রতিটি অ্যাওয়ার্ড পৃষ্ঠা ভিউ, শেয়ার, ডাউনলোড এবং LinkedIn অ্যাড-ক্লিক ট্র্যাক করে। ইস্যুয়াররা এই গণনাগুলি তাদের নিজস্ব ড্যাশবোর্ডে দেখেন; প্রাপকরা সেগুলি পাবলিক অ্যাওয়ার্ড পৃষ্ঠায় দেখেন। Credly কনভেনশন অনুসারে, দর্শকের পরিচয় কখনই রেকর্ড করা হয় না — শুধুমাত্র গণনা।

ম্যাজিক লিঙ্ক কতক্ষণ স্থায়ী হয়?

24 ঘন্টা। এর পরে, একটি নতুন অনুরোধ করুন — কোনো রেট সীমা নেই, কোনো জরিমানা নেই।

সেশন কতক্ষণ স্থায়ী হয়?

সাইন-ইন থেকে 1 ঘন্টা। সেই উইন্ডোর মধ্যে পৃষ্ঠা রিফ্রেশ করলে সেশন জীবিত থাকে; ট্যাব বন্ধ করলে এটি শেষ হয়।

অন্য কেউ কি আমার লুকানো ব্যাজ দেখতে পারে?

না। লুকানো ব্যাজগুলি পাবলিক /u/<handle> ভিউ থেকে ফিল্টার করা হয়। আপনি পোর্টালে সাইন-ইন হওয়ার সময় কেবল সেগুলি আপনার কাছে দৃশ্যমান।

আমি কি আমার ব্যাজ ডাউনলোড করতে পারি?

হ্যাঁ — পোর্টাল থেকে যেকোনো ব্যাজ খুলুন, তারপর পাবলিক অ্যাওয়ার্ড পৃষ্ঠায় Download PNG (Open Badges baked) বা Download PDF certificate বোতাম ব্যবহার করুন। উভয়ই স্বাক্ষরিত এবং Open Badges v2 স্পেকের মাধ্যমে যাচাইযোগ্য।

ইস্যুয়ারদের জন্য এটি কেমন দেখায়

পোর্টাল অ্যাক্সেস করা প্রাপকরা ইস্যুয়ারের জন্য কিছুই পরিবর্তন করেন না — ইস্যুয়ারের ড্যাশবোর্ডে অ্যাওয়ার্ড টেবিল ঠিক একইভাবে কাজ করে। পোর্টাল সম্পূর্ণরূপে সংযোজনশীল।

আপনি যদি একজন ইস্যুয়ার হন যে এটি পড়ছেন এবং আপনার LinkedIn সংস্থা ID এখনও সেট করেননি, এখনই সেট করুন: ইস্যুয়ার পরিচালনা → LinkedIn add-to-profile। এটি প্ল্যাটফর্মে একক সবচেয়ে বড় "শেয়ার হার" লিভার।

প্রযুক্তিগত বিবরণ (কৌতূহলীদের জন্য)

প্ল্যাটফর্ম ইন্টিগ্রেটর / Open Badges বিশেষজ্ঞদের জন্য
  • প্রমাণীকরণ মডেল: স্টেটলেস HMAC টোকেন। ম্যাজিক-লিঙ্ক পেলোড হলো { kind: "magic", email, exp } যা AWS Secrets Manager (recipient/keys:tokenSecret) এর মাধ্যমে ঘোরানো একটি সার্ভার-সাইড সিক্রেট দিয়ে স্বাক্ষরিত। যাচাইয়ের সময়, আমরা একটি { kind: "session", email, exp } টোকেন মুদ্রণ করি। কোনো DB-ব্যাকড সেশন টেবিল নেই।
  • ইমেল লুকআপ: অ্যাওয়ার্ড টেবিলে RECIPIENT_EMAIL_LC-TIMESTAMP GSI প্রশ্ন করে। ইমেল সংরক্ষণ এবং লুকআপের আগে লোয়ারকেসে স্বাভাবিক করা হয়।
  • পাবলিক প্রোফাইল: প্রতিটি প্রোফাইল সারি EMAIL_LC সংরক্ষণ করে যাতে /u/<handle> প্রাপক সাইন-ইন না হয়েও অ্যাওয়ার্ড তালিকাভুক্ত করতে পারে। লুকানো অ্যাওয়ার্ডগুলি সার্ভার-সাইড ফিল্টার করা হয়।
  • GDPR ভুলে যান: প্রতিটি ম্যাচিং অ্যাওয়ার্ড সারির RECIPIENT_EMAIL_LC কে removed:<random> এ পুনরায় লেখে এবং DynamoDB UPDATE এর মাধ্যমে RECIPIENT_EMAIL প্লেইনটেক্সট অ্যাট্রিবিউট সরায়। প্রোফাইল সারি মুছে ফেলা হয়।
  • এন্ডপয়েন্ট (কোনো Cognito নেই; ম্যাজিক-লিঙ্ক অথ):
    • POST /me/auth/request { email } — ম্যাজিক লিঙ্ক ইমেল করে
    • POST /me/auth/verify { token } — সেশন টোকেন ফিরিয়ে দেয়
    • GET /me — প্রোফাইল + প্রথম অ্যাওয়ার্ড পৃষ্ঠা (Bearer)
    • GET /me/awards?lastEvaluatedKey=… — পেজিনেটেড (Bearer)
    • PUT /me/handle { handle } — হ্যান্ডেল সেট/পরিবর্তন (Bearer)
    • PUT /me/awards/{guid}/visibility { hidden: bool } — লুকানো টগল (Bearer)
    • POST /me/auth/forget — GDPR আনবাইন্ড (Bearer)
    • GET /u/{handle} — পাবলিক প্রোফাইল (কোনো প্রমাণীকরণ নেই)

badges.ninja Documentation