মোজা গ্লোবাল প্রজেক্ট

এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷

প্রকল্পের সারসংক্ষেপ

ওপেন সোর্স সংস্থা:
মোজা গ্লোবাল
কৌশলী লেখক:
তলাজিপান্ডা
প্রকল্পের নাম:
FLINT এর জন্য প্রযুক্তিগত অনবোর্ডিং গাইডের ডকুমেন্টেশন
প্রকল্পের দৈর্ঘ্য:
স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)

প্রকল্প বর্ণনা

প্রযুক্তিগত অনবোর্ডিংয়ের মাধ্যমে নতুন অবদানকারীদের গাইড করার জন্য FLINT-এর প্রযুক্তিগত অনবোর্ডিং গাইডের ডকুমেন্টেশন যাতে নতুন অবদানকারীরা সহজেই রক্ষণাবেক্ষণকারীদের ন্যূনতম সমর্থনের সাথে শুরু করতে পারে।

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

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

প্রস্তাবিত সমাধান

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

নিম্নলিখিত সংগ্রহস্থলের বর্তমান ডকুমেন্টেশন পরিবর্তন করুন: - FLINT: বর্তমান ডকুমেন্টেশন খুব বিস্তারিত নয় এবং প্রয়োজনীয় লাইব্রেরিগুলির একটি ক্রমিক ক্রম প্রদান করে না। ধাপে ধাপে নির্দেশনা নির্দেশিকাগুলিকে বিভিন্ন পিডিএফ-এ বিভক্ত করা হয়েছে তবে আরও সংক্ষিপ্ত পদ্ধতিতে একক জায়গায় একত্রিত করা যেতে পারে। এছাড়াও, ইনস্টলেশন গাইডগুলি উইন্ডোজে সরবরাহ করা হয় তবে লিনাক্স ইনস্টলেশনের জন্য FLINT.docker সংগ্রহস্থলে পুনঃনির্দেশ করা উপকারী হতে পারে। - FLINT.docker: বর্তমান ডকুমেন্টেশন এই সংগ্রহস্থল সেট করার পিছনে উদ্দেশ্য প্রদান করে না যা ডকারের মাধ্যমে FLINT-এর লিনাক্স ইনস্টলেশন প্রদান করে। ডকারের মাধ্যমে সমর্থন শুধুমাত্র উবুন্টু 18.04 (বায়োনিক বিভার) এর মধ্যে সীমাবদ্ধ তবে অন্যান্য লিনাক্স ভিত্তিক বিতরণগুলিতে প্রসারিত করা যেতে পারে। বর্তমান ডকুমেন্টেশনে ডকারফাইলগুলি সেট আপ করার ক্রমিক পদ্ধতির উপর জোর দেওয়া দরকার এবং মেকফাইল থেকে কীভাবে তৈরি করা যায় সে সম্পর্কে যথেষ্ট তথ্যও রয়েছে। - FLINT.example: বর্তমান ডকুমেন্টেশন এই রিপোজিটরি সেট করার পিছনে উদ্দেশ্য প্রদান করে না যেটি হল কিভাবে FLINT ব্যবহার করতে হয় তার একটি উদাহরণ প্রদান করা। বিভিন্ন নমুনা রানগুলি তাদের চালানোর জন্য নির্দিষ্ট নির্দেশাবলী দিয়ে আরও ভালভাবে আলাদা করা যেতে পারে। আমাদের এই সংগ্রহস্থলটিকে আমাদের প্রধান FLINT সংগ্রহস্থলের সাথে লিঙ্ক করতে হবে যা ব্যবহারকারীদের এখানে নেভিগেট করার একটি উপায় প্রদান করে যাতে উদাহরণটি কার্যকর হয়।

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

পর্যায় 2: একটি কেন্দ্রীয় স্বতন্ত্র ডকুমেন্টেশন সংগ্রহস্থল তৈরি করুন:

হোস্টিং প্ল্যাটফর্মের জন্য ব্যবহার করা টুল:

এই হোস্টিং প্ল্যাটফর্মের জন্য প্রস্তাবিত টুল হল নিম্নলিখিত কারণে ডক্স পড়ুন:- - বিভিন্ন হোস্টিং প্ল্যাটফর্মের মধ্যে উচ্চ র‌্যাঙ্ক করা হয়েছে। - পুশিং কমিটের স্বয়ংক্রিয় আপডেট - এটি ব্যবহার করে বৃহৎ সম্প্রদায়ের কারণে সহজেই সেট আপ করা এবং সমস্যা সমাধানের সমর্থন পাওয়া যায় - ডকুমেন্টেশন পুনর্গঠিত পাঠ্য ব্যবহার করে ফর্ম্যাট করা হয় এবং আউটপুটটি স্ফিনক্স দ্বারা সংকলিত হয়।

একটি যৌক্তিক ক্রমিক পদ্ধতিতে সমস্ত সামগ্রী সংগঠিত করুন:

বিষয়বস্তুর প্রস্তাবিত ক্রম নিম্নরূপ:- - বিকাশকারী ডকুমেন্টেশনের ভূমিকা: এই বিভাগে মোজা গ্লোবাল এবং ফ্লিন্টের একটি ভূমিকা কভার করা হবে। - অবদান: এই বিভাগে "অবদান করার উপায়" (কোড/রিপোর্টিং বাগ/অনুবাদ/ডকুমেন্টেশন/আয়োজন ইভেন্ট ইত্যাদির পরিপ্রেক্ষিতে) এবং "কোড অফ কন্ডাক্ট" উপধারা থাকবে। - ডেভেলপমেন্ট সেটআপ: এই বিভাগে "গিট এবং গিটহাব ওয়ার্কফ্লো", "উইন্ডোজ ইনস্টলেশন", "লিনাক্স ইনস্টলেশন" উপধারা থাকবে। - ডেভেলপার ওয়ার্কফ্লো: এই বিভাগে পরীক্ষার জন্য একীভূত টুলস এবং কীভাবে আপনার পুল অনুরোধে ম্যানুয়াল টেস্টিং করতে হয় এবং পরবর্তী পর্বে নথিভুক্ত আরও অনেক কিছু নিয়ে আলোচনা থাকবে। - আমাদের সাথে যোগ দিন: মোজা গ্লোবালের সাথে সংযোগ এবং কাজ করার জন্য এই বিভাগটি বিভিন্ন সামাজিক ফোরাম যেমন স্ল্যাক চ্যানেল প্রদান করবে।

পর্যায় 3: নতুন অবদানকারীদের জন্য ডেভেলপার ওয়ার্কফ্লো এবং কমিউনিটি ওয়েবসাইট যোগ করুন:

ডেভেলপার ওয়ার্কফ্লো ডকুমেন্টেশন:

ডেভেলপার ওয়ার্কফ্লো ডকুমেন্টেশন নিম্নলিখিত উপধারা নিয়ে গঠিত হবে:

  • ব্যবহৃত টেক স্ট্যাক/আর্কিটেকচার এবং কোডের বিভিন্ন মডিউল: টেক স্ট্যাক বাস্তবায়িত, কোডবেসের বিভিন্ন লাইব্রেরি এবং মডিউলগুলির সাথে নতুন অবদানকারীদের পরিচিত করার জন্য ডকুমেন্টেশন।
  • সমন্বিত পরীক্ষা এবং কভারেজ সরঞ্জাম: পরীক্ষার জন্য ব্যবহৃত CI/CD পাইপলাইন সরঞ্জামগুলিতে নতুন অবদানকারীদের পরিচয় করিয়ে দেওয়া, কভারেজ বট এবং স্বয়ংক্রিয় গুণমান পরীক্ষা তাদের কোডের বিপরীতে চলে। পরীক্ষায় ব্যর্থ হলে কার কাছে যেতে হবে সে বিষয়েও তাদের নির্দেশিকা প্রদান করে।
  • বটগুলি কর্মপ্রবাহকে সহজ করার জন্য ব্যবহৃত হয় যেমন - জুলিপবট: বটগুলি প্রদর্শনের জন্য সামগ্রীর টেমপ্লেট ডিজাইন করা এবং ব্যবহারকারীদের বটগুলি বুঝতে এবং এমনকি অবদানের মাধ্যমে বটের কনফিগারেশনের উন্নতি করার জন্য ডকুমেন্টেশন উপলব্ধ করা।
  • ম্যানুয়ালি টেস্টিং এবং পুল রিকোয়েস্ট জমা দেওয়া: পুল রিকোয়েস্ট জমা দেওয়ার সময় স্ক্রিনশট/জিআইএফ-এর পরিপ্রেক্ষিতে নির্দিষ্ট স্ট্যান্ডার্ডের বিরুদ্ধে পুল রিকোয়েস্ট ম্যানুয়ালি পরীক্ষা করা এবং ফলাফল আপলোড করার বিষয়ে ডকুমেন্টেশন দেওয়া হবে।
  • পুল রিকোয়েস্ট রিভিউ নির্দেশিকা অবদানকারীদের অনুসরণ করতে হবে: রিভিউয়ের জন্য নির্দিষ্ট টিমকে ট্যাগ করার নির্দেশিকা এবং পুল রিকোয়েস্টে "রিভিউ দরকার" এর মতো লেবেল যোগ করার জন্য রক্ষণাবেক্ষণকারীদের প্রতিক্রিয়া জানাতে অনুমতি দেওয়া।
কমিউনিটি ওয়েবসাইট:

কমিউনিটি ওয়েবসাইটে নিম্নলিখিত বৈশিষ্ট্য থাকবে:-

  • আমাদের ওয়ার্কফ্লো সম্পর্কে তথ্য: ওয়ার্কফ্লোতে একটি নতুন অবদানকারীর সাথে শুরু হতে পারে এমন ক্রিয়াগুলির সিরিজ থাকবে যেমন - একটি ফার্স্ট টাইমার সমস্যা দাবি করা, তারপরে অন্য কারও জন্য একটি ফার্স্ট টাইমার সমস্যা তৈরি করা এবং প্রতিক্রিয়া প্রদান করে এবং তাদের পুল অনুরোধ পর্যালোচনা করে অন্যদের সাহায্য করা।
  • শুধুমাত্র প্রথম টাইমার সমস্যাগুলির তালিকা: প্রথম-টাইমার বা নতুন অবদানকারীদের জন্য বিশেষভাবে বোঝানো সমস্যাগুলির তালিকা৷
  • বাসি সমস্যাগুলির তালিকা: সমস্যাগুলির তালিকা যা দীর্ঘ সময়ের জন্য কাজ করা হয়নি এবং তাই অবদানকারীদের দ্বারা বাছাই করার জন্য উপলব্ধ।
  • অবদানকারীদের তালিকা: অবদানকারীদের তালিকা যারা এখনও পর্যন্ত মোজা গ্লোবাল রিপোজিটরিতে অবদান রেখেছেন।
  • সাম্প্রতিক অবদানকারী: অবদানকারীদের তালিকা যারা সম্প্রতি মোজা গ্লোবাল রিপোজিটরিতে অবদান রেখেছেন।
  • চ্যাট ফোরামে যোগদানের লিঙ্ক: স্ল্যাক সম্প্রদায়ের সাথে তাদের প্রশ্নের সমাধান করতে এবং প্রকল্পগুলির উপর আরও আলোচনা করতে তথ্য এবং লিঙ্কগুলি।