এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷
প্রকল্পের সারাংশ
- ওপেন সোর্স সংস্থা:
- রকেট.চ্যাট
- প্রযুক্তিগত লেখক:
- মিস্টার গোল্ড
- প্রকল্পের নাম:
- বট ডক্স
- প্রকল্পের দৈর্ঘ্য:
- স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)
প্রকল্পের বিবরণ
প্রকল্পের সারাংশ
চ্যাট বটগুলি আজকের প্রযুক্তির কাটিং প্রান্তে রয়েছে৷ চ্যাট সফ্টওয়্যার এবং বটগুলিতে ব্যাপক সামগ্রিক বৃদ্ধির হার বৃদ্ধির সাথে সাথে বক্তৃতা স্বীকৃতি এবং অটোমেশন বট ডকুমেন্টেশন তৈরি করার প্রয়োজনীয়তা নির্দেশ করে যা বোঝা এবং ব্যবহার করা সহজ।
ব্যাপক এবং স্পষ্ট ডকুমেন্টেশন থাকা আরও গুরুত্বপূর্ণ হয়ে ওঠে, তাই বিদ্যমান বট ডকুমেন্টেশনগুলি অ্যাক্সেস এবং নেভিগেট করা সহজ করা প্রয়োজন, প্রতিটি সমর্থিত কাঠামোর জন্য একীভূত ধাপে ধাপে নির্দেশাবলী এবং বিস্তৃত উদাহরণ প্রদান করা উচিত। এছাড়াও অপ্রয়োজনীয় এবং তথ্য বোঝা কঠিন পরিত্রাণ পেতে এটি পরিপাটি করা উচিত।
প্রকল্পের লক্ষ্য হল জ্ঞানের ব্যবধান পূরণ করা এবং নতুন, কম অভিজ্ঞ ডেভেলপারদের উৎসাহিত করা শ্রোতাদের কাছে অত্যাধুনিক প্রযুক্তির সুবিধা নিয়ে আসতে উৎসাহিত করা। বট নির্মাতাদের Rocket.Chat-এ তাদের নিজস্ব বট তৈরির একটি সুগমিত অভিজ্ঞতা প্রদান করে এটি করা যেতে পারে। এই লক্ষ্যের লক্ষ্য হল Rocket.Chat-কে এই ডেভেলপারদের জন্য পছন্দের ওপেন সোর্স প্ল্যাটফর্ম তৈরি করা, যাতে তাদের চ্যাটবট ধারনাগুলি উদ্ভাবন, তৈরি এবং পরীক্ষা করা যায় - চূড়ান্ত BOT স্থাপনার লক্ষ্য নির্বিশেষে।
প্রকল্পের সমস্যা
বট ডকুমেন্টেশন সম্পর্কিত সবচেয়ে গুরুত্বপূর্ণ সমস্যাগুলির একটি তালিকা নীচে দেওয়া হল:
- বট সম্পর্কে অ-স্বজ্ঞাত এবং বন্ধুত্বহীন সাধারণ তথ্য
- বট আর্কিটেকচার সম্পর্কিত বিক্ষিপ্ত এবং অপ্রয়োজনীয় বিভাগ
- সত্যের কোনো একক উত্স ছাড়াই "শুরু করা" নির্দেশিকা নির্দেশাবলীর বিশৃঙ্খল অংশ
- নির্দেশের অভাব বা নির্দেশের বিবরণের অত্যধিক স্তর
- অন্তর্নিহিত এবং অস্পষ্ট বট SDK ডকুমেন্টেশন
প্রকল্প প্রস্তাব
প্রকল্পের লক্ষ্য অনুযায়ী, এবং উপরে বর্ণিত সমস্যাগুলি, প্রস্তাবিত বর্ধনগুলির একটি তালিকা নিম্নরূপ:
বট ডক্স আপডেট করুন। প্রাথমিক ভূমিকা মসৃণ এবং সামঞ্জস্যপূর্ণ করার জন্য, নিম্নলিখিত নথিগুলিকে সহজ থেকে আরও জটিল পর্যন্ত ধীরে ধীরে পরিবর্তন করে আপডেট করা উচিত:
- বট ওভারভিউ: https://rocket.chat/docs/bots/
- বট আর্কিটেকচার: https://rocket.chat/docs/bots/bots-architecture/
- বট পরিবেশ কনফিগার করা হচ্ছে: https://rocket.chat/docs/bots/configure-bot-environment/
- বট হোম পেজ: https://github.com/RocketChat/rocketchat.github.io/pull/
বট ইনস্টলেশন ডকুমেন্টেশন সংগঠিত এবং একীভূত করুন। সমস্ত সাব-প্রকল্পে কীভাবে একটি বট সংগ্রহস্থল ক্লোন করতে হয় এবং প্রয়োজনীয় নির্ভরতাগুলি ইনস্টল করতে হয়, কীভাবে দ্রুত শুরু করতে হয়, প্রথম লঞ্চের পরে কীভাবে একটি বটের সাথে কাজ করতে হয় এবং কীভাবে এটি স্থাপন করতে হয় সে সম্পর্কে নির্দেশাবলীর একটি সমন্বিত সেট থাকা উচিত।
Revise Rocket.Chat JS SDK ডকুমেন্টেশন উপস্থাপনা। বিশেষ সরঞ্জাম ব্যবহার করে সোর্স কোড থেকে SDK ডকুমেন্টেশন প্রোগ্রাম্যাটিকভাবে তৈরি করা উচিত। এই উন্নতিটি পঠনযোগ্যতা আনবে এবং প্রতিবার একটি পদ্ধতি (বা এর ভিতরের কিছু) পরিবর্তন হলে গিথুবে ম্যানুয়ালি নথি আপডেট করার প্রয়োজনীয়তা দূর করবে।
টাইমলাইন
আবেদন পর্যালোচনার সময়কাল: সম্প্রদায় এবং যাদের সাথে কাজ করতে হবে তাদের সাথে পরিচিত হন। সম্প্রদায়ের অবদানের নির্দেশিকা এবং সর্বোত্তম অনুশীলনগুলি শিখুন৷ প্রথম অবদান করুন.
সম্প্রদায় বন্ধন: সম্প্রদায় অন্বেষণ. বট ডকুমেন্টেশনের বর্তমান অবস্থা পরিদর্শন করুন। দুর্বল পয়েন্ট চিহ্নিত করুন।
সপ্তাহ 1: বটসের নতুন দৃষ্টিভঙ্গিতে পরামর্শদাতাদের সাথে সারিবদ্ধ হন। দৃষ্টি অনুযায়ী নতুন বটস হোম পেজের জন্য একটি আপডেট কন্টেন্ট তৈরি করুন।
সপ্তাহ 2: বট ওভারভিউ, আর্কিটেকচার, পরিবেশ পৃষ্ঠাগুলির কনফিগারেশন সংশোধন করুন
সপ্তাহ 3 - সাব-প্রকল্পগুলির একটি তালিকা নির্ধারণ করুন (বট গিথুব রেপো) যা মূল ডকুমেন্টেশনে স্থানান্তর করা উচিত। - স্থানান্তরের পরে বট ওয়েবসাইটগুলি কীভাবে কাজ করবে তা নির্ধারণ করুন। - একটি টেমপ্লেট সংজ্ঞায়িত করুন যা এই রেপোর মধ্যে তথ্য সংগঠিত করতে ব্যবহৃত হবে। - স্থানান্তরের জন্য প্রধান ডকুমেন্টেশন প্রস্তুত করুন
সপ্তাহ 4: bBot রেপো স্থানান্তর করুন। সংজ্ঞায়িত টেমপ্লেট অনুযায়ী তথ্য সংগঠিত
সপ্তাহ 5: হুবট রেপো স্থানান্তর করুন। সংজ্ঞায়িত টেমপ্লেট অনুযায়ী তথ্য সংগঠিত
সপ্তাহ 6: বটকিট রেপো স্থানান্তর করুন। সংজ্ঞায়িত টেমপ্লেট অনুযায়ী তথ্য সংগঠিত
সপ্তাহ 7: রাসা রেপো স্থানান্তর করুন। সংজ্ঞায়িত টেমপ্লেট অনুযায়ী তথ্য সংগঠিত
সপ্তাহ 8: বটপ্রেস রেপো স্থানান্তর করুন। সংজ্ঞায়িত টেমপ্লেট অনুযায়ী তথ্য সংগঠিত
সপ্তাহ 9: সমস্ত বট উপ-প্রকল্প স্থানান্তর করার পরে মূল ডকুমেন্টেশন কাঠামো এবং পৃষ্ঠাগুলির চূড়ান্তকরণ
সপ্তাহ 10: JSDoc কনফিগারেশন পরীক্ষা করুন। JSDoc আর্টিফ্যাক্ট সংরক্ষণ করার জন্য একটি স্থান সংজ্ঞায়িত করুন। ড্রাইভার পদ্ধতি নথিভুক্ত করা শুরু করুন
সপ্তাহ 11: ড্রাইভার পদ্ধতির ডকুমেন্টিং শেষ করুন
সপ্তাহ 12: ফলাফল মূল্যায়ন
মাইলস্টোনগুলির বিস্তারিত ব্রেকডাউন
আবেদন পর্যালোচনার সময়কাল
পিরিয়ডের প্রথম অংশটি কমিউনিটি চ্যানেল এবং সোর্স কোড চেক করতে এবং প্রকল্পে নিবেদিত ব্যক্তিদের সাথে যোগাযোগ করার জন্য নিবেদিত হবে।
পিরিয়ডের দ্বিতীয় অংশটি সাধারণভাবে অবদানের সংস্কৃতি পরীক্ষা করা, অবদান নির্দেশিকা এবং সর্বোত্তম অনুশীলন পরীক্ষা করার জন্য নিবেদিত হবে। এই প্রবাহ কিভাবে কাজ করে তা দেখার জন্য প্রথম অবদানের সময় হবে।
সম্প্রদায় বন্ধন
এই সময়টি এর রোডম্যাপের সাথে ডকুমেন্টেশন ভান্ডারের একটি গভীর পরীক্ষায় নিবেদিত হবে। সেই তথ্যের ভিত্তিতে, দুর্বল পয়েন্টগুলি (যেমন অসম্পূর্ণ বা অনুপস্থিত অংশ) সনাক্ত করা সম্ভব হবে যা উন্নত করা যেতে পারে। শূন্যস্থান পূরণ করতে (যেখানে সম্ভব) টান অনুরোধ তৈরি করুন।
সপ্তাহ 1 - সপ্তাহ 2
বট ডকুমেন্টেশনের জন্য নতুন দৃষ্টিভঙ্গি সারিবদ্ধ করার জন্য প্রথম সপ্তাহটি পরামর্শদাতাদের সাথে যোগাযোগের জন্য উত্সর্গীকৃত হবে। এই তথ্যটি সংশোধিত নথিগুলির একটি অংশ হবে যার লক্ষ্য পাঠকদের একটি বট কী এবং এর কার্যকারী নীতিগুলির একটি সাধারণ ওভারভিউ দেওয়ার উদ্দেশ্যে।
দ্বিতীয় সপ্তাহটি দৃষ্টিভঙ্গি অনুসারে নতুন বটস হোম পেজের জন্য বিষয়বস্তু তৈরি এবং বট ওভারভিউ, আর্কিটেকচার, পরিবেশের পৃষ্ঠাগুলির কনফিগারেশন সংশোধন করার বিষয়ে হবে।
সংশোধিত নথিগুলিতে আরও স্পষ্ট ফোকাস থাকবে: - নতুন বিকাশকারী যারা তাদের নিজস্ব বট তৈরি করতে চান - পেশাদার [বট] বিকাশকারী যারা বিনামূল্যে এবং সহজেই ব্যবহারযোগ্য প্ল্যাটফর্ম ব্যবহার করে তাদের বট ডিজাইন/কোড/পরীক্ষা করতে চান বা তাদের সাথে মানিয়ে নিতে চান সেই প্ল্যাটফর্মে বিদ্যমান বট - পেশাদার বট বিকাশকারীরা তাদের ফ্রেমওয়ার্ক পছন্দের সাথে যারা Rocket.Chat এর জন্য বট তৈরি করতে চান
কাজের পরিধি নিম্নরূপ হবে:
- অপ্রয়োজনীয় বিভাগগুলি সরান। উদাহরণস্বরূপ, নিম্নলিখিত বিভাগগুলি ওভারল্যাপিং তথ্য ভাগ করে:
- বট কিভাবে বার্তা পাঠায় এবং গ্রহণ করে? বট ওভারভিউতে (https://rocket.chat/docs/bots/#how-do-bots-send-and-receive-messages)
- বট আর্কিটেকচারে মেসেজ স্ট্রীম (https://rocket.chat/docs/bots/bots-architecture/#message-streams)
- বট ব্যবহারকারী তৈরিতে আপনার বটের সাথে কথা বলুন (https://rocket.chat/docs/bots/creating-bot-users/#talk-to-your-bot)
DRY নীতি অনুসরণ করে বট ইকোসিস্টেম এবং কার্যকারিতা স্পষ্টভাবে বর্ণনা করতে বট ওভারভিউ পৃষ্ঠার বিভাগ এবং বাক্যাংশগুলি সংশোধন করুন।
তথ্য ""আন্ডার দ্য হুড"" সম্পর্কে বিভাগ এবং বাক্যাংশগুলি সংশোধন করুন:
- একটি প্রযুক্তিগত দৃষ্টিকোণ থেকে একটি বট কি
- এটা কি উপাদান গঠিত
- কিভাবে এই উপাদান একসাথে কাজ
একটি বট তৈরি করার জন্য প্রয়োজনীয় পদক্ষেপগুলি বর্ণনা করে একটি দ্রুত সূচনা নির্দেশিকা লিখুন (""বট পরিবেশ কনফিগার করা"" এর একটি লিঙ্ক সহ আরও পড়া হিসাবে)। এই নির্দেশিকাটি পরিবেশের কনফিগারেশন পৃষ্ঠার অধীনে স্থাপন করা হবে।
এইভাবে, একজন বিকাশকারীর বট প্রকৃতি এবং বটগুলি কী করতে সক্ষম তা সম্পর্কে একটি পরিষ্কার দৃষ্টি থাকবে। সেই বিন্দু থেকে, একজন বিকাশকারী তাদের প্রথম বট তৈরি করতে সক্ষম হবে।
বিতরণযোগ্য: সংশোধিত, বট ইকোসিস্টেম এবং আর্কিটেকচার সম্পর্কে তথ্য সহ পরিচিতি নির্দেশিকা অনুসরণ করা সহজ।
সপ্তাহ 3 - 9
3 থেকে 9 সপ্তাহ গিথুব রিপোজিটরি জুড়ে সমস্ত বট ডক্সের একীকরণ এবং এই নথিগুলিকে প্রধান ডকুমেন্টেশনে স্থানান্তর করার জন্য উত্সর্গ করা হবে (https://rocket.chat/docs/bots/)৷ এই ক্রিয়াকলাপগুলিকে কয়েকটি পুনরাবৃত্তিতে বিভক্ত করা যেতে পারে:
সংজ্ঞা
বট সাব-প্রকল্পগুলির একটি তালিকা সংজ্ঞায়িত করা যা মূল ডকুমেন্টেশনে স্থানান্তরিত করা উচিত। বট ওয়েবসাইটগুলি স্থানান্তরের পরে কীভাবে কাজ করবে তা নির্ধারণ করুন (কিছু বট, bbot, উদাহরণস্বরূপ (http://bbot.chat)) github ছাড়াও ডকুমেন্টেশন সহ পৃথক সাইট রয়েছে)।
টেমপ্লেট
1ম ধাপে সংজ্ঞায়িত বট উপ-প্রকল্পের মধ্যে তথ্য সংগঠিত করার জন্য একটি টেমপ্লেট (একটি উপায়) সংজ্ঞায়িত করা এবং তৈরি করা। এই টেমপ্লেটটি নিম্নরূপ দেখতে পারে:
ক একটি রেপো ক্লোন করুন
খ. নির্ভরতা ইনস্টল করুন
গ. একটি বট কনফিগার করুন
d একটি বট চালান
e উন্নত কনফিগারেশন
চ আরও পদক্ষেপ
যে কমান্ডগুলিতে কিছু অ-তুচ্ছ আউটপুট রয়েছে (যেমন ""একটি বট চালান"") সেই আউটপুটের লাইভ প্রেজেন্টেশনের সাথে টার্ম শীট টুল (https://neatsoftware.github.io/term-sheets/) ব্যবহার করা উচিত।
তদ্ব্যতীত, প্রাথমিক ""দ্রুত সূচনা"" পর্যায় (পদক্ষেপ a - d) পরিষ্কার করার জন্য, সমস্ত পদক্ষেপগুলিও একটি লাইভ উপস্থাপনায় একত্রিত করা হবে৷
নতুনদের সম্ভাব্য ব্যর্থতা থেকে নিরাপদ বোধ করতে, খেলার মাঠের পরিবেশের সাথে কোডের উদাহরণ প্রদান করা উচিত (রকেট চ্যাট ইকো-সিস্টেমের একটি অংশ হিসাবে গ্লিচ ব্যবহার করে) যেখানে নতুনরা ""উদাহরণ কোড"" এর নিচে থাকা বটগুলির সাথে চ্যাট করতে পারে -হুড
প্রস্তুতি
একটি স্থানান্তর জন্য প্রধান ডকুমেন্টেশন প্রস্তুতি. এর মধ্যে রয়েছে যথাযথ ফোল্ডার এবং পৃষ্ঠার কাঠামো তৈরি করা, সেইসাথে সেই কাঠামো অনুযায়ী বিষয়বস্তুর সারণী সামঞ্জস্য করা।
চূড়ান্ত কাঠামো নিম্নরূপ দেখতে পারে:
- বট
- বট আর্কিটেকচার
- বট ব্যবহারকারী তৈরি করুন
- বট পরিবেশ কনফিগার করুন
- বট চালান
- bBot বট
- হুবট বট
- বটকিট বট
- রাসা বট
- বটপ্রেস বট
- বট
মাইগ্রেশন
সংজ্ঞায়িত বট সাব-প্রকল্পগুলিকে একের পর এক প্রধান ডকুমেন্টেশনে স্থানান্তরিত করা। বট ডকুমেন্টেশনের প্রতিটি অংশে বর্তমান সংস্করণের মতো উপ-বিভাগ সহ একটি পৃথক পৃষ্ঠা থাকবে (যেমন একটি bBot চালানো)।
- বট চালান
- bBot বট
- হুবট বট
- বটকিট বট
- রাসা বট
- বটপ্রেস বট
- বট চালান
সংগঠন
বেশ কিছু কার্যক্রম থাকবে:
- 2য় ধাপে সংজ্ঞায়িত টেমপ্লেট অনুযায়ী প্রতিটি বট গিথুব রেপো থেকে তথ্য সংগঠিত করা।
- সাধারণ উপাদানগুলি (যেমন পরিবেশগত ভেরিয়েবল) সরানো যা সমস্ত বট সাব-প্রকল্পের সাথে সম্পর্কিত মূল ডকুমেন্টেশনের অনুক্রমের এক স্তর উপরে এবং এই উপাদানগুলির সাথে বট সাব-প্রকল্পগুলিকে লিঙ্ক করে
- প্রতিটি সমর্থিত ফ্রেমওয়ার্কের জন্য "হ্যালো ওয়ার্ল্ড" বটের একটি উদাহরণ তৈরি করা। এই উদাহরণটি Rocket.Chat-এর জন্য একটি "শুরু করা" বট হিসাবে ব্যবহার করা হবে।
কেন এই গুরুত্বপূর্ণ? Rocket.Chat দ্বারা সমর্থিত সমস্ত 8টি উপ-প্রকল্প: alexa, hubot, chatops-gitsy, botpress, rasa, bbot, botkit, BOTswana, hubot-gitsy ডেভেলপারদের READMEs আকারে ছড়িয়ে ছিটিয়ে থাকা ডক্স রয়েছে৷ এই README গুলির কোনও কাঠামো নেই, কীভাবে শুরু করবেন সে সম্পর্কে পুরানো তথ্য রয়েছে, বা কীভাবে চালাতে হয় সে সম্পর্কে অনেক বেশি তথ্য (কখনও কখনও ট্রিপল রিডানডেন্সি সহ, হুবট (https://github.com/RocketChat/hubot-rocketchat) ধারণ করে ডকার ব্যবহার করে বট), সেইসাথে পরিবেশগত ভেরিয়েবল ধারণকারী টেবিল।
এই দিকগুলি একজন বিকাশকারীকে (একজন নবাগত হিসাবে) বিশদ স্তরের সাথে বিভ্রান্ত করে। ফলস্বরূপ, ডেভেলপার মাত্র কয়েকটি টার্মিনাল কমান্ডের সাহায্যে একটি বট আপ করতে এবং চলতে ব্যর্থ হবে।
স্থানান্তর এবং অপ্টিমাইজেশন সম্পন্ন হওয়ার পরে, গিথুবে বিদ্যমান বট সংগ্রহস্থলগুলিতে README ফাইল থাকবে যা মূল ডকুমেন্টেশনের উল্লেখ করে।
এটি নিম্নলিখিত সুবিধাগুলি প্রদান করবে: - একটি ইউনিফাইড স্ট্রাকচার যা ডেভেলপারদের নতুন বট দিয়ে শুরু করা সহজ করে তোলে - বট ডকুমেন্টেশনের জন্য সত্যের একক উৎস - ইউনিফাইড স্ট্রাকচারের জন্য ধন্যবাদ যেকোন বট সম্পর্কে প্রয়োজনীয় তথ্য খুঁজে পাওয়া সহজ
বিতরণযোগ্য: একক জায়গায় সংগঠিত (প্রধান ডকুমেন্টেশন) কীভাবে Rocket.Chat দ্বারা সমর্থিত বটগুলি তৈরি, কনফিগার এবং চালানোর জন্য সহজ-অনুসরণ করা নির্দেশাবলী।
সপ্তাহ 10
ইনলাইন মন্তব্যের মান সর্বাধিক করতে এই সপ্তাহটি JSDoc (https://devdocs.io/jsdoc/) কনফিগার করার জন্য উত্সর্গীকৃত হবে৷ এর মধ্যে রয়েছে:
- ড্রাইভার পদ্ধতির জন্য মন্তব্য পার্স করার জন্য JSDoc সঠিকভাবে কনফিগার করা হয়েছে তা নিশ্চিত করা (https://github.com/RocketChat/Rocket.Chat.js.SDK#driver-methods)
- পোস্টম্যান-jsdoc-থিম ইনস্টল করুন (https://github.com/postmanlabs/postman-jsdoc-theme) ফলে এইচটিএমএল আউটপুট আরও স্পষ্ট এবং বিকাশকারী-বান্ধব করতে
- JSDoc ডকুমেন্টেশন আর্টিফ্যাক্ট প্রকাশ করা হবে যেখানে স্থান সংজ্ঞায়িত করা
- ড্রাইভার পদ্ধতির সাথে সম্পর্কিত সমস্ত ফাংশন (dist/lib/driver.js) ফাইলের বর্ণনা করা। এর মধ্যে রয়েছে:
- পদ্ধতির বর্ণনা যোগ/সম্পাদনা করা
- পদ্ধতির পরামিতিগুলির বিবরণ যোগ করা/সম্পাদনা করা
- পদ্ধতি অনুরোধের উদাহরণ যোগ/সম্পাদনা করা, যদি প্রযোজ্য হয়
- প্রযোজ্য হলে পদ্ধতির প্রতিক্রিয়ার উদাহরণ যোগ/সম্পাদনা করা
বিকাশকারীর দৃষ্টিকোণ থেকে ইনলাইন ডকুমেন্টেশন লেখা এবং বজায় রাখা সহজ এবং এর স্বয়ংক্রিয়-প্রজন্ম প্রক্রিয়া আপনাকে গিটহাবে হোস্ট করা স্ট্যাটিক ডকুমেন্টেশন থেকে মুক্তি পেতে দেয় ( https://github.com/RocketChat/Rocket.Chat.js.SDK#driver- পদ্ধতি ) যা SDK পদ্ধতিতে প্রতিটি পরিবর্তনের জন্য আলাদাভাবে আপডেট করতে হবে।
11 সপ্তাহ
এই সপ্তাহটি ড্রাইভার পদ্ধতি বর্ণনার চূড়ান্তকরণের জন্য সম্পূর্ণরূপে উত্সর্গীকৃত হবে। একবার সম্পূর্ণ হলে, বিবরণগুলি নির্ভুলতা এবং ধারাবাহিকতার জন্য পরীক্ষা করা হবে এবং তারপরে নতুন ডকুমেন্টেশন বিশ্বের কাছে প্রকাশিত হবে।
12 সপ্তাহ
সমাপ্ত কাজের চূড়ান্তকরণ। গ্রহণযোগ্যতা চেক.