ডিপিপিগুলির জন্য একটি সময় যন্ত্র

কল্পনা করুন, আপনি একটি পণ্য হাতে ধরে তার QR কোড স্ক্যান করছেন। PDF-এর বদলে একটি ছোট অ্যাপ খুলে যাচ্ছে। আপনি পণ্যটিকে যেমন আছে তেমনই দেখতে পাচ্ছেন: এটি কী দিয়ে তৈরি, কোথা থেকে এসেছে, এবং কী কী বিষয় মাথায় রাখতে হবে। একটি সোয়াইপ আপনাকে সময়ের মধ্যে পিছনে নিয়ে যায় - আপনি দেখতে পারবেন এখন পর্যন্ত প্রকাশিত প্রতিটি সংস্করণ।

আপনি এটি এখনই পরীক্ষা করে দেখতে পারেন: ডেমো⁠ নমুনা ডেটা সহ একটি সম্পূর্ণ পণ্য পাসপোর্ট দেখায়।

এটি Transpareo Time Machine, যেকোনো ডিজিটাল প্রোডাক্ট পাসপোর্টের জন্য আমাদের ওপেন-সোর্স কনজিউমার অ্যাপ। কোডটি GPL v3 লাইসেন্সের অধীনে GitHub⁠-এ উপলব্ধ।

আমরা এটি তৈরি করছি কারণ ডিজিটাল পণ্য পাসের উপর ইউরোপীয় ইউনিয়নের নিয়মাবলী ভোক্তাদের জন্য লেখা হয়েছে - সেই ব্যক্তির জন্য যিনি পণ্যটি হাতে ধরে রাখেন। বেশিরভাগ প্রদানকারী এটিকে একটি সম্মতি ফর্মে পরিণত করে যা কেউ কখনোই দুইবার স্ক্যান করে না। আমরা এটিকে এমন একটি অ্যাপে পরিণত করছি যা ভোক্তারা সত্যিই খুলবেন।

অ্যাপটি কী করে

পণ্যটি ধারণকারী ব্যক্তির দৃষ্টিকোণ থেকে চারটি স্পর্শবিন্দু। কোনো লগইন নেই, কোনো অ্যাপ ইনস্টলেশন নেই।

1

স্ক্যান করুন

আপনার স্মার্টফোনের ক্যামেরা ব্যবহার করে QR কোড স্ক্যান করুন। অ্যাপটি আপনার ব্রাউজারে খুলবে।

2

সর্বশেষ খবর দেখুন

এখানে এবং এখন পণ্য - উপাদান, উপকরণ, উৎপত্তি, যত্ন, পুনর্ব্যবহার।

3

ইতিহাস ব্রাউজ করুন

একটি সোয়াইপ আপনাকে অতীতে ফিরে নিয়ে যায়। প্রতিটি পূর্ববর্তী সংস্করণ, তারিখ এবং পরিবর্তনের কারণসহ।

4

শেয়ার

প্রতিটি সংস্করণের নিজস্ব লিঙ্ক আছে। একজন ব্যক্তি নির্দিষ্ট একটি সংস্করণ বন্ধুদের বা কর্তৃপক্ষের সাথে শেয়ার করে।

কেনই বা?

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

সংখ্যার দিক থেকে পরিস্থিতি স্পষ্ট। দশকের শেষের মধ্যে, গড় ইউরোপীয় পরিবার বছরে কয়েক ডজন থেকে কয়েকশো পণ্য পাসপোর্ট স্ক্যান করতে পারবে। ২০০ মিলিয়ন পরিবারের ভিত্তিতে, এটি বার্ষিক বিলিয়ন বিলিয়ন ভোক্তা মিথস্ক্রিয়া সমপরিমাণ। তুলনামূলকভাবে, কর্তৃপক্ষ ও পুনর্ব্যবহারকারীদের জগত সংখ্যাগতভাবে অতি ক্ষুদ্র।

যদি এই নিয়মাবলী ভোক্তাদের কাছে পৌঁছাতে হয়, তাহলে ভোক্তা-মুখী প্ল্যাটফর্মটি ভালোভাবে ডিজাইন করা আবশ্যক - দ্রুত, আকর্ষণীয় এবং সুসংগত। অন্যথায়, এটি তার উদ্দেশ্য পূরণে ব্যর্থ হবে। আমরা এই ভোক্তা-মুখী প্ল্যাটফর্মটি ওপেন-সোর্স সফটওয়্যার হিসেবে তৈরি করার সিদ্ধান্ত নিয়েছি যাতে এটি কোনো একক প্রদানকারীর ওপর নির্ভর না করে।

আমাদের সার্ভারে নয়, ব্রাউজারে পরীক্ষা করা হয়েছে।

প্রতিটি পণ্যের পাসপোর্টের শীর্ষে একটি ব্যাজ দেখা যায়: ‘Transpareo দ্বারা যাচাইকৃত’। এটি একটি যাচাইকরণ প্রক্রিয়ার ফলাফল প্রদর্শন করে যা আমাদের সার্ভারে নয়, বরং ভিজিটরের ব্রাউজারে - লোড হওয়া বাইট এবং প্রস্তুতকারকের পাবলিক কী-এর ভিত্তিতে - সম্পন্ন হয়।

প্রতিটি DPP সংস্করণ দুইটি স্বাধীন পক্ষ স্বাক্ষর করে: প্রস্তুতকারক এবং Transpareo। ব্যাজটি সবুজ হতে হলে উভয় স্বাক্ষর যাচাইযোগ্য হতে হবে। Bring Your Own Key (BYOK) ব্যবহার করে, প্রস্তুতকারক তার নিজস্ব স্বাক্ষর এন্ডপয়েন্ট পরিচালনা করে - Transpareo কখনোই ব্যক্তিগত কী ধারণ করে না এবং শুধুমাত্র স্বাধীন কাউন্টারস্বাক্ষর যোগ করে। এর ফলে এমন একটি ইস্যুয়ারের স্বাক্ষর তৈরি হয় যা Transpareo নিজে তৈরি করতে পারে না। একটি আপস করা সার্ভার টিক জাল করতে পারে না, কারণ যাচাইকরণ ভিজিটরের নিজস্ব ডিভাইসেই সম্পন্ন হয়।

আপনি যদি সম্পূর্ণ বিবরণ জানতে চান, তাহলে ব্যাজটিতে ক্লিক করুন। এর পিছনে, আপনি স্বাক্ষর চেইন, হ্যাশ এবং চেইনকৃত সংস্করণ ইতিহাস দেখতে পাবেন। যদি আপনি শুধুমাত্র তথ্য জানতে চান, তাহলে এটি উপেক্ষা করে পণ্য পাসপোর্ট পড়া চালিয়ে যান।

একই যাচাইকরণ একটি স্বতন্ত্র পৃষ্ঠা হিসেবেও উপলব্ধ: DPP যাচাইকরণ পৃষ্ঠায়, যে কোনো পণ্য পাসপোর্টের ম্যানিফেস্ট URL লিখুন এবং পাসপোর্টটি নিজে খুলতে না পারলেও সম্পূর্ণ যাচাইকরণ ফলাফল দেখুন।

আমরা কোডটি রিলিজ করছি।

Transpareo Time Machine GPL v3 (GitHub-এ)⁠ লাইসেন্সের অধীনে প্রকাশিত। ক্লোনিং, ফর্কিং, স্ব-হোস্টিং - সবই অনুমোদিত। যে কোনো প্রকাশিত পরিবর্তন অবশ্যই GPL v3-এর অধীনে লাইসেন্সপ্রাপ্ত হতে হবে, যাতে ভবিষ্যৎ উন্নয়ন বৃহত্তর সম্প্রদায়ের উপকারে আসে।

বন্ডেল একীভূত করার তিনটি উপায়:

  • স্ক্রিপ্ট ট্যাগের মাধ্যমে: আপনার পেজে <script> এবং <transpareo-time-machine src="…"> যোগ করুন - এটুকুই; কোনো বিল্ড ধাপের প্রয়োজন নেই।
  • npm-এর মাধ্যমে: আপনার অ্যাপে npm install transpareo-time-machine করুন।
  • স্ব-হোস্টিং: বান্ডেলটি বিল্ড করুন, আপনার নিজস্ব অবকাঠামো ব্যবহার করুন, রানটাইমে কোনো তৃতীয় পক্ষের নির্ভরতা নেই।

যদি আপনার পূর্ণ পণ্য ভিউ ছাড়া শুধুমাত্র স্বাক্ষর যাচাইকরণ প্রয়োজন হয়, তাহলে বোন উপাদান <dpp-verifier> ইমপোর্ট করুন - অডিটর টুলের জন্য আদর্শ। এটিকে DPP যাচাইকরণ পৃষ্ঠায় কাজ করতে দেখুন।

যারা অ্যাপটি কার্যকরভাবে ব্যবহার করে

এই অ্যাপটি মূলত ভোক্তাদের জন্য ডিজাইন করা হয়েছে। তবে, এটি স্বাধীনভাবে পণ্য তথ্য দেখতে বা যাচাই করতে ইচ্ছুক যে কাউকে ব্যবহার করতে পারবেন।

  • শেষ ভোক্তারা স্ক্যান, দেখা, ব্রাউজ এবং শেয়ার করতে পারবেন। কোনো লগইন নেই, কোনো ট্র্যাকার নেই।
  • বাজার তদারকি সংস্থা এবং নিয়ন্ত্রক কর্তৃপক্ষ এমন সফটওয়্যারে পণ্য পাসপোর্ট দেখতে পারবে যার সোর্স কোড সর্বজনীনভাবে নিরীক্ষাযোগ্য।
  • কর্মশালা এবং পুনর্ব্যবহারকারীরা পণ্যের উপর সরাসরি উপকরণ গঠন এবং বিচ্ছিন্নকরণ নির্দেশনা দেখতে পারে।
  • ব্র্যান্ড এবং ফর্ক অপারেটররা তাদের নিজস্ব ব্র্যান্ডের সাথে মানানসইভাবে বান্ডিলটি কাস্টমাইজ করতে পারে - CSS টোকেন, কাস্টম উপাদান, স্ব-হোস্টিং।

যদি Transpareo আর না থাকে তাহলে কী হবে?

ইউরোপীয় ইউনিয়ন (EU) নির্দেশ করে যে একটি নিবন্ধিত পণ্য পাসপোর্ট অন্তত দশ বছর ধরে উপলব্ধ থাকতে হবে - এমনকি প্রস্তুতকারকের দেউলিয়া হওয়া বা তরলীকরণের পরও। একটি SaaS প্রদানকারী সাধারণত এত দীর্ঘ সময় ধরে ব্যবসায় টিকে থাকে না। অতএব আমরা শুরু থেকেই প্ল্যাটফর্মটি এমনভাবে তৈরি করছি যাতে পণ্য পাসপোর্টগুলো আমাদের উপর নির্ভরশীল না হয়ে স্বতন্ত্রভাবে ব্যবহারযোগ্য থাকে:

  • প্রতিটি স্বাক্ষরিত DPP সংস্করণ একটি সর্বজনীনভাবে প্রবেশযোগ্য রিপোজিটরিতে সংরক্ষণ করা হয়। প্রকাশিত পাবলিক কী-সহ এই তথ্য পরবর্তী যাচাইয়ের জন্য যথেষ্ট।
  • একবার পণ্য পাসপোর্টগুলো EU রেজিস্টারে নিবন্ধিত হয়ে গেলে, একটি দ্বিতীয়, শুধুমাত্র-পঠনযোগ্য স্টোরেজ অবস্থান পরবর্তী দশ বছর পর্যন্ত প্রতিটি DPP সংস্করণ এবং ইভেন্ট লগ অনুলিপি করে রাখে। কেউই - এমনকি আমরাও নয় - এই অনুলিপিগুলো অতীতে পরিবর্তন করতে পারে না।
  • সমাপ্তির পর, সংক্ষিপ্ত পণ্য পাসপোর্ট URL-গুলো Transpareo প্ল্যাটফর্মে একটি রিডাইরেক্টের মাধ্যমে অ্যাক্সেসযোগ্য থাকবে।
  • Transpareo টাইম মেশিন সংরক্ষিত ডেটার ক্ষেত্রেও অপরিবর্তিতভাবে চলতে থাকে। বান্ডেলটি রানটাইমে আমাদের কলব্যাক করে না; এটি শুধুমাত্র বাইট এবং কী-গুলোই ব্যবহার করে।

যদি Transpareo প্ল্যাটফর্ম আগামীকাল অদৃশ্য হয়ে যায়, তবুও DPP সংস্করণ এবং ওপেন-সোর্স রেন্ডারার টিকে থাকবে।

প্রযুক্তি সম্পর্কে কৌতূহলী তাদের জন্য

এখানেই ঘটছে আসল ঘটনা। যদি আপনাকে বিস্তারিত জানতে না হয়, তাহলে আপনি এই অংশটি এড়িয়ে যেতে পারেন - অ্যাপটি তবুও কাজ করবে।

  • GS1 ডিজিটাল লিঙ্ক (ISO/IEC 18975): পণ্য পাসপোর্ট URL পণ্য শনাক্তকারীকে একটি মানসম্মত ফরম্যাটে বহন করে - রিসলভার-নিরপেক্ষ এবং প্রদানকারীদের মধ্যে বিনিময়যোগ্য।
  • JSON ক্যানোনিক্যালাইজেশন স্কিম (RFC 8785): একটি নির্ধারিত সিরিয়ালাইজেশন। এটি নিশ্চিত করে যে ফিল্ডের ক্রম বা ফাঁকা স্থান যাই হোক না কেন হ্যাশ পুনরুৎপাদনযোগ্য থাকবে - যে কেউ নিজেই এটি যাচাই করতে পারে।
  • W3C ডেটা অখণ্ডতা প্রুফ (eddsa-jcs-2022): ক্যানোনিকালকৃত ফর্মের উপর Ed25519 স্বাক্ষর (JCS)।
  • /.well-known/dpp-keys/ (RFC 8615): ইস্যুকারীদের পাবলিক কী-গুলো একটি মানসম্মত পাথে অবস্থিত - Transpareo-কে যোগাযোগ করার প্রয়োজন নেই; প্রতিটি যাচাইকারী নিজেই সেগুলো খুঁজে পেতে পারে।

সবকিছু GitHub-এ README⁠-এ ডকুমেন্ট করা আছে - যার মধ্যে রয়েছে ফ্রন্ট-এন্ড আর্কিটেকচার (আমাদের নিজস্ব রিয়েক্টিভ কোর, কোনো বাহ্যিক ফ্রেমওয়ার্ক নেই) এবং স্ব-হোস্টিংয়ের জন্য বিল্ড নির্দেশনা।

GitHub-এ কোড দেখুন

আপনি পাবলিক রেপোজিটরিতে সম্পূর্ণ সোর্স কোড, সব রিলিজ এবং ইস্যুর আলোচনা দেখতে পাবেন।