Google Chat, Vertex AI, এবং Firestore-এর মাধ্যমে প্রজেক্ট পরিচালনা করুন

এই টিউটোরিয়ালটি দেখায় কিভাবে একটি Google চ্যাট অ্যাপ তৈরি করতে হয় যা একটি দল রিয়েল টাইমে প্রকল্প পরিচালনা করতে ব্যবহার করতে পারে। চ্যাট অ্যাপ টিমগুলিকে ব্যবহারকারীর গল্প লিখতে সাহায্য করার জন্য Vertex AI ব্যবহার করে (যা টিমের বিকাশের জন্য ব্যবহারকারীর দৃষ্টিকোণ থেকে একটি সফ্টওয়্যার সিস্টেমের বৈশিষ্ট্যগুলি উপস্থাপন করে) এবং একটি Firestore ডাটাবেসে গল্পগুলি বজায় রাখে।

  • প্রজেক্ট ম্যানেজমেন্ট অ্যাপ উল্লেখ করে অ্যাপটিকে সাহায্যের প্রস্তাব দেয়।
    চিত্র 1. চার্লি তাদের দলের সাথে একটি চ্যাট স্পেসে বৈশিষ্ট্য উন্নয়ন নিয়ে আলোচনা করেছেন৷ প্রকল্প পরিচালনার কথা উল্লেখ করে চ্যাট অ্যাপ সাহায্যের প্রস্তাব দেয়।
  • একটি গল্প তৈরি করতে /createUserStory স্ল্যাশ কমান্ড ব্যবহার করে।
    চিত্র 2. /createUserStory স্ল্যাশ কমান্ড ব্যবহার করে, চার্লি একটি গল্প তৈরি করে।
  • প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি গল্পের বর্ণনা লিখতে Vertex AI ব্যবহার করে।
    চিত্র 3. প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি গল্পের বিবরণ লিখতে Vertex AI ব্যবহার করে, তারপরে গল্পটি স্থান ভাগ করে নেয়।
  • চার্লি গল্পের বিবরণ চূড়ান্ত করে।
    চিত্র 4. চার্লি গল্পের বিবরণ চূড়ান্ত করতে সম্পাদনা ক্লিক করে। এআই বর্ণনাটি সঠিক, কিন্তু চার্লি আরও বিশদ বিবরণ চায়, তাই চার্লি প্রসারিত ক্লিক করে ভার্টেক্স এআই গল্পের বিবরণে প্রয়োজনীয়তা যোগ করে। চার্লি নিজের কাছে গল্পটি বরাদ্দ করে, শুরু করার জন্য স্থিতি সেট করে, একটি উপযুক্ত অগ্রাধিকার এবং আকার নির্বাচন করে, তারপর সংরক্ষণ করুন ক্লিক করে।
  • সমস্ত দলের ব্যবহারকারী গল্প পরিচালনা.
    চিত্র 5. যে কোনো সময়ে, চার্লি /manageUserStories স্ল্যাশ কমান্ডের সাহায্যে টিমের সমস্ত ব্যবহারকারীর গল্প দেখতে এবং পরিচালনা করতে পারে।

পূর্বশর্ত

উদ্দেশ্য

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

ব্যবহৃত পণ্য

প্রোজেক্ট ম্যানেজমেন্ট অ্যাপ নিম্নলিখিত Google Workspace এবং Google ক্লাউড প্রোডাক্ট ব্যবহার করে:

  • চ্যাট এপিআই : গুগল চ্যাট অ্যাপ তৈরির জন্য একটি এপিআই যা বার্তার মতো চ্যাট ইন্টারঅ্যাকশন ইভেন্ট গ্রহণ করে এবং প্রতিক্রিয়া জানায়। প্রজেক্ট ম্যানেজমেন্ট Google চ্যাট অ্যাপ চ্যাট এপিআই ব্যবহার করে Chat-এর মাধ্যমে পাঠানো ইন্টারঅ্যাকশন ইভেন্টগুলি গ্রহণ করতে এবং প্রতিক্রিয়া জানাতে এবং নাম এবং অবতার চিত্রের মতো চ্যাটে কীভাবে প্রদর্শিত হবে তা নির্ধারণ করে এমন বৈশিষ্ট্যগুলি কনফিগার করতে।
  • ভার্টেক্স এআই এপিআই : একটি জেনারেটিভ এআই প্ল্যাটফর্ম। প্রোজেক্ট ম্যানেজমেন্ট গুগল চ্যাট অ্যাপ ব্যবহারকারীর গল্পের শিরোনাম এবং বিবরণ লিখতে Vertex AI API ব্যবহার করে।
  • ফায়ারস্টোর : একটি সার্ভারবিহীন নথি ডাটাবেস। প্রোজেক্ট ম্যানেজমেন্ট গুগল চ্যাট অ্যাপ ফায়ারবেস ব্যবহার করে ব্যবহারকারীর গল্প সম্পর্কে ডেটা সঞ্চয় করে।
  • ক্লাউড ফাংশন : একটি হালকা সার্ভারহীন কম্পিউট পরিষেবা যা আপনাকে একক-উদ্দেশ্য, স্বতন্ত্র ফাংশন তৈরি করতে দেয় যা সার্ভার বা রানটাইম পরিবেশ পরিচালনার প্রয়োজন ছাড়াই চ্যাট ইন্টারঅ্যাকশন ইভেন্টগুলিতে প্রতিক্রিয়া জানাতে পারে। প্রোজেক্ট ম্যানেজমেন্ট গুগল চ্যাট অ্যাপটি HTTP এন্ডপয়েন্ট হোস্ট করতে ক্লাউড ফাংশন ব্যবহার করে যা চ্যাট ইন্টারঅ্যাকশন ইভেন্ট পাঠায় এবং একটি গণনা প্ল্যাটফর্ম হিসাবে লজিক চালায় যা এই ইভেন্টগুলিকে প্রক্রিয়া করে এবং প্রতিক্রিয়া জানায়।

    ক্লাউড ফাংশনগুলি নিম্নলিখিত Google ক্লাউড পণ্যগুলি তৈরি করতে, মিথস্ক্রিয়া ইভেন্টগুলি প্রক্রিয়া করতে এবং গণনা সংস্থানগুলি হোস্ট করতে ব্যবহার করে:

    • ক্লাউড বিল্ড : একটি সম্পূর্ণরূপে পরিচালিত ক্রমাগত ইন্টিগ্রেশন, ডেলিভারি এবং ডিপ্লয়মেন্ট প্ল্যাটফর্ম যা স্বয়ংক্রিয় বিল্ডগুলি চালায়।
    • পাব/সাব : একটি অ্যাসিঙ্ক্রোনাস এবং স্কেলেবল মেসেজিং পরিষেবা যা সেই পরিষেবাগুলি থেকে বার্তাগুলি তৈরি করে যা সেই বার্তাগুলিকে প্রক্রিয়া করে।
    • ক্লাউড রান অ্যাডমিন এপিআই : কন্টেইনারাইজড অ্যাপ চালানোর জন্য একটি সম্পূর্ণরূপে পরিচালিত পরিবেশ।

স্থাপত্য

প্রোজেক্ট ম্যানেজমেন্ট Google Chat অ্যাপ আর্কিটেকচার একটি HTTP এন্ডপয়েন্টে চ্যাট ইন্টারঅ্যাকশন ইভেন্টগুলি গ্রহণ করে এবং প্রক্রিয়া করে, ব্যবহারকারীর গল্প লিখতে সাহায্য করার জন্য Vertex AI ব্যবহার করে এবং Firestore ডাটাবেসে ব্যবহারকারীর গল্পের বিবরণ সঞ্চয় করে। নিচের চিত্রে Google Workspace এবং Google ক্লাউড রিসোর্স ব্যবহার করা আর্কিটেকচার দেখানো হয়েছে।

প্রোজেক্ট ম্যানেজমেন্ট Google Chat অ্যাপের জন্য আর্কিটেকচার ডায়াগ্রাম

প্রোজেক্ট ম্যানেজমেন্ট গুগল চ্যাট অ্যাপটি এভাবে কাজ করে:

  1. একজন ব্যবহারকারী চ্যাটে একটি বার্তা পাঠান এবং প্রকল্প পরিচালনা Google Chat অ্যাপটিকে সরাসরি মেসেজ করে, একটি স্পেসে উল্লেখ করে অথবা একটি স্ল্যাশ কমান্ড প্রবেশ করে।

  2. চ্যাট ক্লাউড ফাংশনের HTTP এন্ডপয়েন্টে একটি সিঙ্ক্রোনাস HTTP অনুরোধ পাঠায়।

  3. প্রোজেক্ট ম্যানেজমেন্ট Google Chat অ্যাপ HTTP অনুরোধ প্রক্রিয়া করে:

    1. Vertex AI ব্যবহারকারীর গল্প লিখতে বা আপডেট করতে সাহায্য করে।

    2. একটি ফায়ারস্টোর ডেটাবেস ব্যবহারকারীর গল্পের ডেটা সঞ্চয় করে, পুনরুদ্ধার করে, আপডেট করে বা মুছে দেয়।

  4. ক্লাউড ফাংশন চ্যাটে একটি HTTP প্রতিক্রিয়া প্রদান করে যা ব্যবহারকারীকে একটি বার্তা বা ডায়ালগ হিসাবে প্রদর্শন করে।

পরিবেশ প্রস্তুত করুন

এই বিভাগটি দেখায় কিভাবে চ্যাট অ্যাপের জন্য একটি Google ক্লাউড প্রকল্প তৈরি এবং কনফিগার করতে হয়।

একটি Google ক্লাউড প্রকল্প তৈরি করুন

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, মেনু > IAM & Admin > Create a Project এ যান।

    একটি প্রকল্প তৈরি করুন এ যান

  2. প্রকল্পের নাম ক্ষেত্রে, আপনার প্রকল্পের জন্য একটি বর্ণনামূলক নাম লিখুন।

    ঐচ্ছিক: প্রকল্প আইডি সম্পাদনা করতে, সম্পাদনা ক্লিক করুন। প্রোজেক্ট তৈরি হওয়ার পর প্রোজেক্ট আইডি পরিবর্তন করা যাবে না, তাই এমন একটি আইডি বেছে নিন যা প্রোজেক্টের জীবনকালের জন্য আপনার চাহিদা পূরণ করে।

  3. অবস্থান ক্ষেত্রে, আপনার প্রকল্পের সম্ভাব্য অবস্থানগুলি প্রদর্শন করতে ব্রাউজ ক্লিক করুন। তারপর, নির্বাচন ক্লিক করুন.
  4. তৈরি করুন ক্লিক করুন। Google ক্লাউড কনসোল ড্যাশবোর্ড পৃষ্ঠায় নেভিগেট করে এবং আপনার প্রকল্পটি কয়েক মিনিটের মধ্যে তৈরি হয়।

জিক্লাউড সিএলআই

নিম্নলিখিত উন্নয়ন পরিবেশগুলির মধ্যে একটিতে, Google ক্লাউড CLI ( gcloud ) অ্যাক্সেস করুন :

  • ক্লাউড শেল : ইতিমধ্যেই সেট আপ করা gcloud CLI সহ একটি অনলাইন টার্মিনাল ব্যবহার করতে, ক্লাউড শেল সক্রিয় করুন।
    ক্লাউড শেল সক্রিয় করুন
  • স্থানীয় শেল : একটি স্থানীয় উন্নয়ন পরিবেশ ব্যবহার করতে, gcloud CLI ইনস্টল এবং আরম্ভ করুন
    একটি ক্লাউড প্রকল্প তৈরি করতে, gcloud projects create কমান্ড ব্যবহার করুন:
    gcloud projects create PROJECT_ID
    আপনি যে প্রকল্পটি তৈরি করতে চান তার জন্য ID সেট করে PROJECT_ID প্রতিস্থাপন করুন।

ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করুন৷

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, বিলিং- এ যান। মেনু > বিলিং > আমার প্রকল্পে ক্লিক করুন।

    আমার প্রকল্পের জন্য বিলিং এ যান

  2. একটি সংস্থা নির্বাচন করুন -এ, আপনার Google ক্লাউড প্রকল্পের সাথে যুক্ত সংস্থা নির্বাচন করুন৷
  3. প্রকল্পের সারিতে, অ্যাকশন মেনু খুলুন ( ), বিলিং পরিবর্তন করুন এ ক্লিক করুন এবং ক্লাউড বিলিং অ্যাকাউন্ট বেছে নিন।
  4. অ্যাকাউন্ট সেট করুন ক্লিক করুন।

জিক্লাউড সিএলআই

  1. উপলব্ধ বিলিং অ্যাকাউন্টের তালিকা করতে, চালান:
    gcloud billing accounts list
  2. Google ক্লাউড প্রকল্পের সাথে একটি বিলিং অ্যাকাউন্ট লিঙ্ক করুন:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • PROJECT_ID হল ক্লাউড প্রকল্পের জন্য প্রকল্প আইডি যার জন্য আপনি বিলিং সক্ষম করতে চান৷
    • BILLING_ACCOUNT_ID হল Google ক্লাউড প্রকল্পের সাথে লিঙ্ক করার জন্য বিলিং অ্যাকাউন্ট আইডি

APIs সক্রিয় করুন

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, Google Chat API, Vertex AI API, ক্লাউড ফাংশন API, Firestore API, Cloud Build API, Pub/Sub API এবং Cloud Run Admin API সক্ষম করুন৷

    APIs সক্রিয় করুন

  2. নিশ্চিত করুন যে আপনি সঠিক ক্লাউড প্রকল্পে API গুলি সক্ষম করছেন, তারপর পরবর্তী ক্লিক করুন।

  3. নিশ্চিত করুন যে আপনি সঠিক API গুলি সক্ষম করছেন, তারপর সক্ষম করুন ক্লিক করুন৷

জিক্লাউড সিএলআই

  1. প্রয়োজনে, বর্তমান ক্লাউড প্রজেক্টটিকে আপনার তৈরি করা একটিতে সেট করুন gcloud config set project কমান্ড:

    gcloud config set project PROJECT_ID

    আপনার তৈরি করা ক্লাউড প্রকল্পের প্রকল্প আইডি দিয়ে PROJECT_ID প্রতিস্থাপন করুন।

  2. Google Chat API, Vertex AI API, ক্লাউড ফাংশন API, Firestore API, ক্লাউড বিল্ড API, Pub/Sub API, এবং ক্লাউড রান অ্যাডমিন এপিআই সক্ষম gcloud services enable কমান্ড সহ:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com

    ক্লাউড বিল্ড, পাব/সাব, এবং ক্লাউড রান অ্যাডমিন এপিআই হল ক্লাউড ফাংশনের পূর্বশর্ত।

প্রমাণীকরণ এবং অনুমোদন

এই টিউটোরিয়ালটি অনুসরণ করার জন্য কোন প্রমাণীকরণ এবং অনুমোদন কনফিগারেশনের প্রয়োজন নেই।

Firestore এবং Vertex AI APIs কল করার জন্য, এই টিউটোরিয়ালটি ক্লাউড ফাংশনের সাথে সংযুক্ত ডিফল্ট পরিষেবা অ্যাকাউন্টের সাথে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে, যা আপনাকে সেট আপ করতে হবে না। একটি উত্পাদন পরিবেশের প্রসঙ্গে, আপনি সাধারণত পরিবর্তে ক্লাউড ফাংশনে একটি পরিষেবা অ্যাকাউন্ট তৈরি এবং সংযুক্ত করবেন।

Google Chat অ্যাপ তৈরি করুন এবং স্থাপন করুন

এখন যেহেতু আপনার Google ক্লাউড প্রজেক্ট তৈরি এবং কনফিগার করা হয়েছে, আপনি Google Chat অ্যাপ তৈরি এবং স্থাপন করতে প্রস্তুত। এই বিভাগে, আপনি নিম্নলিখিতগুলি করবেন:

  1. একটি ফায়ারস্টোর ডাটাবেস তৈরি করুন যাতে ব্যবহারকারীর গল্পগুলি বজায় থাকে এবং পুনরুদ্ধার করা যায়।
  2. ঐচ্ছিকভাবে, নমুনা কোড পর্যালোচনা করুন.
  3. HTTP অনুরোধ হিসাবে চ্যাট থেকে প্রাপ্ত ইভেন্টগুলির প্রতিক্রিয়া হিসাবে চ্যাট অ্যাপের কোড হোস্ট এবং চালানোর জন্য একটি ক্লাউড ফাংশন তৈরি করুন।
  4. Google Chat API কনফিগারেশন পৃষ্ঠায় একটি Google Chat অ্যাপ তৈরি করুন এবং স্থাপন করুন।

ফায়ারস্টোর ডাটাবেস তৈরি করুন

এই বিভাগে, আপনি একটি ফায়ারস্টোর ডেটাবেস তৈরি করেন যাতে ব্যবহারকারীর গল্পগুলি বজায় থাকে এবং পুনরুদ্ধার করা যায়, কিন্তু আপনি ডেটা মডেলটি সংজ্ঞায়িত করেন না। model/user-story.js এবং model/user.js ফাইলগুলির দ্বারা নমুনা কোডে ডেটা মডেলটি অন্তর্নিহিতভাবে সেট করা হয়েছে।

প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপ ডাটাবেস সংগ্রহে সংগঠিত ডকুমেন্টের উপর ভিত্তি করে একটি NoSQL ডেটা মডেল ব্যবহার করে। আরও জানতে, Firestore ডেটা মডেল দেখুন।

নিম্নলিখিত চিত্রটি প্রকল্প পরিচালনার Google Chat অ্যাপের ডেটা মডেলের একটি ওভারভিউ:

Firestore ডাটাবেসের ডেটা মডেল।

রুট কালেকশন হল spaces , যেখানে প্রতিটি ডকুমেন্ট একটি স্পেস প্রতিনিধিত্ব করে যেখানে চ্যাট অ্যাপ স্টোরি তৈরি করেছে। প্রতিটি ইউজার স্টোরি userStories সাবকলেকশনে একটি ডকুমেন্ট দ্বারা প্রতিনিধিত্ব করা হয় এবং users সাবকলেকশনে প্রতিটি ইউজারকে একটি ডকুমেন্ট দ্বারা প্রতিনিধিত্ব করা হয়।

সংগ্রহ, নথি, এবং ক্ষেত্রের সংজ্ঞা দেখুন

spaces

চ্যাট অ্যাপ স্পেস তৈরি করে গল্প তৈরি করে।

ক্ষেত্র
Document ID String
একটি নির্দিষ্ট স্থানের অনন্য আইডি যেখানে গল্প তৈরি করা হয়। চ্যাট এপিআই-এ স্থানের সংস্থান নামের সাথে মিলে যায়।
userStories Subcollection of Documents ( userStories )
চ্যাট অ্যাপ এবং এর ব্যবহারকারীদের দ্বারা তৈরি গল্প। Firebase-এ একটি userStories এর Document ID সাথে মিলে যায়।
users Subcollection of Documents ( user )
যে ব্যবহারকারীরা তৈরি করেছেন বা যাদের গল্প বরাদ্দ করা হয়েছে।
displayName String
চ্যাট API-এ স্থানের প্রদর্শন নাম। ব্যবহারকারীদের সাথে সরাসরি বার্তার জন্য সেট করা নেই।

userStories

চ্যাট অ্যাপ এবং এর ব্যবহারকারীদের দ্বারা তৈরি গল্প।

ক্ষেত্র
Document ID String
চ্যাট অ্যাপ এবং এর ব্যবহারকারীদের দ্বারা তৈরি একটি নির্দিষ্ট ব্যবহারকারীর গল্পের অনন্য আইডি।
assignee Document ( user )
গল্পটি সম্পূর্ণ করার জন্য নির্ধারিত ব্যবহারকারীর সম্পদের নাম। users নথির Document ID এবং চ্যাট এপিআই-এ ব্যবহারকারীর সংস্থানের নামের সাথে মিলে যায়।
description String
ব্যবহারকারীর দৃষ্টিকোণ থেকে সফ্টওয়্যার বৈশিষ্ট্যের একটি বিবরণ।
priority Enum
যার সাথে কাজ শেষ করতে হবে। সম্ভাব্য মান Low , Medium বা High
size Enum
কাজের পরিমাণ। সম্ভাব্য মানগুলি হল Small , Medium বা Large
status Enum
কাজের পর্যায়। সম্ভাব্য মানগুলি OPEN , STARTED বা COMPLETED
title String
গল্পের শিরোনাম; একটি সংক্ষিপ্ত সারসংক্ষেপ।

users

যে ব্যবহারকারীরা তৈরি করেছেন বা যাদের গল্প বরাদ্দ করা হয়েছে।

ক্ষেত্র
Document ID String
একটি নির্দিষ্ট ব্যবহারকারীর অনন্য আইডি। Firebase-এ একজন userStories এর assignee সাথে এবং Chat API-এ একজন ব্যবহারকারীর রিসোর্সের নামের সাথে মিলে যায়।
avatarUrl String
ইউআরএল ব্যবহারকারীর চ্যাট অবতার ছবি হোস্ট করে।
displayName String
ব্যবহারকারীর চ্যাট প্রদর্শনের নাম।

ফায়ারস্টোর ডাটাবেস কীভাবে তৈরি করবেন তা এখানে:

গুগল ক্লাউড কনসোল

  1. Google ক্লাউড কনসোলে, Firestore-এ যান। মেনু > ফায়ারস্টোরে ক্লিক করুন।

    ফায়ারস্টোরে যান

  2. ডাটাবেস তৈরি করুন ক্লিক করুন।

  3. আপনার ফায়ারস্টোর মোড নির্বাচন করুন থেকে, নেটিভ মোডে ক্লিক করুন।

  4. অবিরত ক্লিক করুন.

  5. ডাটাবেস কনফিগার করুন:

    1. আপনার ডাটাবেসের নাম দিন , ডাটাবেস আইডিটিকে (default) হিসাবে ছেড়ে দিন।

    2. অবস্থানের প্রকারে , আপনার ডাটাবেসের জন্য একটি অঞ্চল নির্দিষ্ট করুন, যেমন us-central1 । সেরা পারফরম্যান্সের জন্য, চ্যাট অ্যাপের ক্লাউড ফাংশন হিসাবে একই বা কাছাকাছি অবস্থান নির্বাচন করুন।

  6. ডাটাবেস তৈরি করুন ক্লিক করুন।

জিক্লাউড সিএলআই

  • gcloud firestore databases create কমান্ড দিয়ে নেটিভ মোডে একটি ফায়ারস্টোর ডাটাবেস তৈরি করুন:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    একটি Firestore অঞ্চলের নাম দিয়ে LOCATION প্রতিস্থাপন করুন, যেমন us-central1

নমুনা কোড পর্যালোচনা করুন

ঐচ্ছিকভাবে, ক্লাউড ফাংশন তৈরি করার আগে, GitHub-এ হোস্ট করা নমুনা কোডের সাথে নিজেকে পর্যালোচনা এবং পরিচিত করার জন্য কিছুক্ষণ সময় নিন।

GitHub এ দেখুন

এখানে প্রতিটি ফাইলের একটি ওভারভিউ আছে:

env.js
একটি নির্দিষ্ট Google ক্লাউড প্রকল্প এবং অঞ্চলে চ্যাট অ্যাপ স্থাপন করার জন্য পরিবেশ কনফিগারেশন ভেরিয়েবল। আপনাকে এই ফাইলে কনফিগারেশন ভেরিয়েবল আপডেট করতে হবে।
package.json এবং package-lock.json
Node.js প্রকল্প সেটিংস এবং নির্ভরতা।
index.js
চ্যাট অ্যাপের ক্লাউড ফাংশনের জন্য এন্ট্রি পয়েন্ট। এটি HTTP অনুরোধ থেকে চ্যাট ইভেন্টটি পড়ে, অ্যাপ হ্যান্ডলারকে কল করে এবং JSON অবজেক্ট হিসাবে HTTP প্রতিক্রিয়া পোস্ট করে।
controllers/app.js
প্রধান অ্যাপ্লিকেশন যুক্তি. চ্যাট অ্যাপের উল্লেখ এবং স্ল্যাশ কমান্ডগুলি পরিচালনা করে ইন্টারঅ্যাকশন ইভেন্টগুলি প্রক্রিয়া করে। কার্ড ক্লিকের প্রতিক্রিয়া জানাতে, এটি app-action-handler.js কল করে।
controllers/app-action-handler.js
কার্ড হ্যান্ডেল করার জন্য অ্যাপ্লিকেশন লজিক চ্যাট ইন্টারঅ্যাকশন ইভেন্টে ক্লিক করুন।
services/space-service.js , services/user-service.js , এবং services/user-story-service.js
এই ফাইলগুলিতে চ্যাট স্পেস, ব্যবহারকারী এবং ব্যবহারকারীর গল্পগুলির সাথে কাজ করার জন্য নির্দিষ্ট অ্যাপ্লিকেশন লজিকের অংশ রয়েছে৷ এই ফাইলগুলির ফাংশনগুলিকে বলা হয় app.js বা app-action-handler.js দ্বারা। ডাটাবেস অপারেশন করার জন্য, এই ফাইলগুলির ফাংশনগুলি firestore-service.js এ ফাংশন কল করে।
services/firestore-service.js
ডাটাবেস অপারেশন পরিচালনা করে। এই ফাইলের ফাংশনগুলিকে services/space-service.js , services/user-service.js , এবং services/user-story-service.js দ্বারা বলা হয়।
services/aip-service.js
জেনারেটিভ AI টেক্সট পূর্বাভাসের জন্য Vertex AI API কল করে।
model/*.js
এই ফাইলগুলিতে ক্লাস এবং এনামগুলির সংজ্ঞা রয়েছে যা অ্যাপ্লিকেশন পরিষেবাগুলি ফাংশনের মধ্যে ডেটা সংরক্ষণ এবং পাস করতে ব্যবহার করে। তারা Firestore ডাটাবেসের জন্য ডেটা মডেল সেট করে।
views/*.js
এই ডিরেক্টরির প্রতিটি ফাইল একটি কার্ড অবজেক্টকে ইনস্ট্যান্টিয়েট করে যা চ্যাট অ্যাপ তারপরে একটি কার্ড বার্তা বা ডায়ালগ অ্যাকশন প্রতিক্রিয়া হিসাবে চ্যাটে ফেরত পাঠায়।
views/widgets/*.js
প্রতিটি ফাইল এক ধরনের উইজেট অবজেক্টকে ইনস্ট্যান্টিয়েট করে যা অ্যাপটি views/ ডিরেক্টরিতে কার্ড তৈরি করতে ব্যবহার করে।
test/**/*.test.js
এই ডিরেক্টরির প্রতিটি ফাইল এবং এর সাবডিরেক্টরিতে সংশ্লিষ্ট ফাংশন, কন্ট্রোলার, পরিষেবা, ভিউ বা উইজেটের ইউনিট পরীক্ষা রয়েছে। আপনি প্রকল্পের রুট ডিরেক্টরিতে থাকাকালীন npm run test চালিয়ে সমস্ত ইউনিট পরীক্ষা চালাতে পারেন।

ক্লাউড ফাংশন তৈরি করুন এবং স্থাপন করুন

এই বিভাগে, আপনি একটি ক্লাউড ফাংশন তৈরি এবং স্থাপন করেন যাতে প্রকল্প পরিচালনা চ্যাট অ্যাপের অ্যাপ্লিকেশন লজিক অন্তর্ভুক্ত থাকে।

ক্লাউড ফাংশন একটি চ্যাট ইন্টারঅ্যাকশন ইভেন্ট ধারণকারী চ্যাট থেকে একটি HTTP অনুরোধের প্রতিক্রিয়া হিসাবে চলে। যখন চালানো হয়, ক্লাউড ফাংশন কোড ইভেন্টটি প্রক্রিয়া করে এবং চ্যাটে একটি প্রতিক্রিয়া প্রদান করে যা চ্যাট একটি বার্তা, ডায়ালগ বা অন্য ধরনের ব্যবহারকারীর ইন্টারঅ্যাকশন হিসাবে রেন্ডার করে। প্রযোজ্য হলে, ক্লাউড ফাংশন Firestore ডাটাবেস থেকেও পড়ে বা লিখতে পারে।

এখানে কিভাবে ক্লাউড ফাংশন তৈরি করতে হয়:

গুগল ক্লাউড কনসোল

  1. জিপ ফাইল হিসাবে গিটহাব থেকে কোডটি ডাউনলোড করুন।

    জিপ ফাইলটি ডাউনলোড করুন

  2. ডাউনলোড করা জিপ ফাইলটি বের করুন।

    এক্সট্রাক্ট করা ফোল্ডারে পুরো Google Workspace স্যাম্পল রিপোজিটরি রয়েছে।

  3. এক্সট্র্যাক্ট করা ফোল্ডারে, google-chat-samples-main/node/project-management-app/ এ নেভিগেট করুন, তারপর একটি জিপ ফাইলে project-management-app ফোল্ডারটি সংকুচিত করুন।

    জিপ ফাইলের রুট ডিরেক্টরিতে অবশ্যই নিম্নলিখিত ফাইল এবং ফোল্ডার থাকতে হবে:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. Google ক্লাউড কনসোলে, ক্লাউড ফাংশন পৃষ্ঠাতে যান:

    ক্লাউড ফাংশনে যান

    আপনার চ্যাট অ্যাপের জন্য Google ক্লাউড প্রজেক্টটি বেছে নেওয়া হয়েছে তা নিশ্চিত করুন।

  5. Create Function এ ক্লিক করুন।

  6. ফাংশন তৈরি করুন পৃষ্ঠায়, আপনার ফাংশন সেট আপ করুন:

    1. পরিবেশে , ২য় প্রজন্ম নির্বাচন করুন।
    2. ফাংশনের নামে , project-management-tutorial লিখুন।
    3. অঞ্চলে , একটি অঞ্চল নির্বাচন করুন।
    4. প্রমাণীকরণের অধীনে, অপ্রমাণিত আহ্বানের অনুমতি দিন নির্বাচন করুন।
    5. পরবর্তী ক্লিক করুন.
  7. রানটাইমে , Node.js 20 নির্বাচন করুন।

  8. এন্ট্রি পয়েন্টে , ডিফল্ট পাঠ্যটি মুছুন এবং projectManagementChatApp লিখুন।

  9. সোর্স কোডে , জিপ আপলোড নির্বাচন করুন।

  10. গন্তব্য বালতিতে , একটি বালতি তৈরি বা নির্বাচন করুন:

    1. ব্রাউজ ক্লিক করুন.
    2. একটি বালতি চয়ন করুন.
    3. নির্বাচন ক্লিক করুন.

    Google ক্লাউড জিপ ফাইলটি আপলোড করে এবং এই বাকেটের উপাদান ফাইলগুলিকে বের করে। ক্লাউড ফাংশন তারপর ক্লাউড ফাংশনে উপাদান ফাইল কপি করে।

  11. জিপ ফাইলে , জিপ ফাইলটি আপলোড করুন যা আপনি গিটহাব থেকে ডাউনলোড করেছেন, নিষ্কাশন করেছেন এবং পুনরায় সংকুচিত করেছেন:

    1. ব্রাউজ ক্লিক করুন.
    2. নেভিগেট করুন এবং জিপ ফাইলটি নির্বাচন করুন।
    3. খুলুন ক্লিক করুন.
  12. ডিপ্লোয় ক্লিক করুন।

    ক্লাউড ফাংশনের বিশদ পৃষ্ঠাটি খোলে, এবং আপনার ফাংশন দুটি অগ্রগতি সূচক সহ প্রদর্শিত হবে: একটি বিল্ডের জন্য এবং একটি পরিষেবার জন্য৷ যখন উভয় অগ্রগতি সূচক অদৃশ্য হয়ে যায় এবং একটি চেক চিহ্ন দিয়ে প্রতিস্থাপিত হয়, তখন আপনার ফাংশন স্থাপন করা হয় এবং প্রস্তুত হয়।

  13. ধ্রুবক সেট করতে নমুনা কোড সম্পাদনা করুন:

    1. ক্লাউড ফাংশন বিস্তারিত পৃষ্ঠায়, সম্পাদনা ক্লিক করুন।
    2. পরবর্তী ক্লিক করুন.
    3. সোর্স কোডে , ইনলাইন এডিটর নির্বাচন করুন।
    4. ইনলাইন এডিটরে, env.js ফাইলটি খুলুন।
    5. আপনার ক্লাউড প্রকল্প আইডি দিয়ে project-id প্রতিস্থাপন করুন।
    6. ঐচ্ছিক: আপনার ক্লাউড ফাংশনের জন্য একটি সমর্থিত অবস্থান সহ us-central1 আপডেট করুন।
  14. ডিপ্লোয় ক্লিক করুন।

  15. ফাংশনটি স্থাপন করা শেষ হলে, ট্রিগার URL অনুলিপি করুন:

    1. ফাংশনের বিবরণ পৃষ্ঠায়, ট্রিগার ক্লিক করুন।
    2. URL টি কপি করুন। নিম্নলিখিত বিভাগে চ্যাট অ্যাপটি কনফিগার করতে আপনার এটির প্রয়োজন।

জিক্লাউড সিএলআই

  1. GitHub থেকে কোড ক্লোন করুন:

    git clone https://github.com/googleworkspace/google-chat-samples.git
  2. এই প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপের কোড ধারণ করে এমন ডিরেক্টরিতে যান:

    cd google-chat-samples/node/project-management-app
  3. পরিবেশ ভেরিয়েবল সেট করতে env.js ফাইলটি সম্পাদনা করুন:

    1. আপনার Google ক্লাউড প্রকল্প আইডি দিয়ে project-id প্রতিস্থাপন করুন।
    2. আপনার Google ক্লাউড প্রকল্পের অবস্থান দিয়ে us-central1 প্রতিস্থাপন করুন।
  4. Google ক্লাউডে ক্লাউড ফাংশন স্থাপন করুন:

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated

    REGION একটি ক্লাউড ফাংশন অবস্থান দিয়ে প্রতিস্থাপন করুন যেখানে এর পরিকাঠামো হোস্ট করা হয়, যেমন us-central1

  1. ফাংশনটি স্থাপন করা শেষ হলে, প্রতিক্রিয়া থেকে url বৈশিষ্ট্যটি অনুলিপি করুন। এটি হল সেই ট্রিগার ইউআরএল যা আপনি Google Chat অ্যাপ কনফিগার করতে নিম্নলিখিত বিভাগে ব্যবহার করেন।

Google ক্লাউড কনসোলে Google Chat অ্যাপ কনফিগার করুন

এই বিভাগটি দেখায় যে কীভাবে চ্যাট অ্যাপের নাম, সমর্থিত স্ল্যাশ কমান্ড এবং চ্যাট অ্যাপের ক্লাউড ফাংশনের ট্রিগার URL সহ আপনার চ্যাট অ্যাপ সম্পর্কে তথ্য সহ Google ক্লাউড কনসোলে চ্যাট API কনফিগার করতে হয় যেখানে এটি চ্যাট ইন্টারঅ্যাকশন ইভেন্টগুলি পাঠায়।

  1. Google ক্লাউড কনসোলে, মেনু > আরও প্রোডাক্ট > Google Workspace > প্রোডাক্ট লাইব্রেরি > Google Chat API > Manage > Configuration-এ ক্লিক করুন।

    চ্যাট এপিআই কনফিগারেশনে যান

  2. অ্যাপের নামে , Project Manager টাইপ করুন।

  3. Avatar URL- এ, https://developers.google.com/chat/images/quickstart-app-avatar.png টাইপ করুন।

  4. বর্ণনায় , Manages projects with user stories.

  5. অন ​​পজিশনে টগল করে ইন্টারেক্টিভ ফিচার সক্ষম করুন ক্লিক করুন।

  6. কার্যকারিতার অধীনে, 1:1 বার্তা গ্রহণ করুন , স্পেস এবং গ্রুপ কথোপকথনে যোগ দিন নির্বাচন করুন।

  7. সংযোগ সেটিংসের অধীনে, HTTP এন্ডপয়েন্ট URL নির্বাচন করুন।

  8. HTTP এন্ডপয়েন্ট ইউআরএলে , ক্লাউড ফাংশন ডিপ্লয়মেন্ট থেকে কপি করা ট্রিগার ইউআরএল পেস্ট করুন, এটি https:// REGION - PROJECT_ID .cloudfunctions.net/project-management-tutorial হিসেবে ফর্ম্যাট করা হয়েছে। আপনি যদি gcloud CLI-এর সাথে ক্লাউড ফাংশন স্থাপন করেন, এটি হল url সম্পত্তি।

  9. চ্যাট অ্যাপের স্ল্যাশ কমান্ড নিবন্ধন করুন। একটি স্ল্যাশ কমান্ড নিবন্ধন করতে:

    1. স্ল্যাশ কমান্ডের অধীনে, একটি স্ল্যাশ কমান্ড যোগ করুন ক্লিক করুন।
    2. নিম্নলিখিত টেবিলে বিস্তারিত প্রতিটি স্ল্যাশ কমান্ডের জন্য, নাম , কমান্ড আইডি , বিবরণ লিখুন এবং স্ল্যাশ কমান্ড একটি ডায়ালগ খুলবে কিনা তা নির্বাচন করুন, তারপর সম্পন্ন ক্লিক করুন :

      নাম কমান্ড আইডি বর্ণনা একটি ডায়ালগ খোলে
      /createUserStory 1 নির্দিষ্ট শিরোনাম দিয়ে একটি গল্প তৈরি করুন। অনির্বাচিত
      /myUserStories 2 ব্যবহারকারীকে বরাদ্দ করা সমস্ত গল্পের তালিকা করে। অনির্বাচিত
      /userStory 3 নির্দিষ্ট গল্পের বর্তমান অবস্থা প্রদর্শন করে। অনির্বাচিত
      /manageUserStories 4 একটি ডায়ালগ খোলে যেখানে গল্পগুলি সম্পাদনা করা যেতে পারে৷ নির্বাচিত
      /cleanupUserStories 5 স্থানের সমস্ত গল্প মুছে দেয়। অনির্বাচিত
  10. দৃশ্যমানতার অধীনে, আপনার ওয়ার্কস্পেস ডোমেনে নির্দিষ্ট ব্যক্তি এবং গোষ্ঠীর জন্য এই চ্যাট অ্যাপটি উপলব্ধ করুন নির্বাচন করুন এবং আপনার ইমেল ঠিকানা লিখুন।

  11. ঐচ্ছিকভাবে, Logs এর অধীনে, Logging এর জন্য Log errors নির্বাচন করুন।

  12. Save এ ক্লিক করুন। একটি কনফিগারেশন সংরক্ষিত বার্তা উপস্থিত হয়, যার অর্থ চ্যাট অ্যাপটি পরীক্ষা করার জন্য প্রস্তুত।

চ্যাট অ্যাপটি পরীক্ষা করুন

প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটিকে মেসেজ করে এবং ব্যবহারকারীর গল্প তৈরি, সম্পাদনা এবং মুছে ফেলার জন্য এর স্ল্যাশ কমান্ড ব্যবহার করে পরীক্ষা করুন।

  1. বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যোগ করার সময় আপনি যে Google Workspace অ্যাকাউন্ট দিয়েছিলেন সেটি ব্যবহার করে Google Chat খুলুন।

    গুগল চ্যাটে যান

  2. নতুন চ্যাট ক্লিক করুন.
  3. 1 বা তার বেশি লোক যোগ করুন ফিল্ডে, আপনার চ্যাট অ্যাপের নাম টাইপ করুন।
  4. ফলাফল থেকে আপনার চ্যাট অ্যাপ নির্বাচন করুন। একটি সরাসরি বার্তা খোলে।

  5. অ্যাপটির সাথে নতুন সরাসরি বার্তায়, Hello টাইপ করুন এবং enter টিপুন। প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি একটি হেল্প মেনু দিয়ে সাড়া দেয় যা এটি কী করতে পারে তার বিবরণ দেয়।
  6. একটি গল্প তৈরি করতে, মেসেজ বারে /createUserStory Test story টাইপ করুন এবং এটি পাঠান। প্রোজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি ভার্টেক্স এআই থেকে জেনারেটিভ এআই ব্যবহার করে আপনার জন্য তৈরি করা ব্যবহারকারীর গল্পের বিবরণ দিয়ে একটি কার্ড বার্তা দিয়ে প্রতিক্রিয়া জানায়।
  7. কনসোলে, আপনি যে স্পেসটিতে চ্যাট অ্যাপ যোগ করেছেন, যে ব্যবহারকারীরা এটির সাথে ইন্টারঅ্যাক্ট করেছেন এবং আপনার তৈরি করা ব্যবহারকারীর গল্প সম্পর্কে এটি তৈরি করা রেকর্ডগুলি পর্যালোচনা করতে Firestore ডাটাবেসটি পরীক্ষা করুন।

    ফায়ারস্টোরে যান

  8. Google Chat-এ ফিরে যান।

    গুগল চ্যাটে যান

  9. ঐচ্ছিকভাবে, গল্প সম্পাদনা করতে, সম্পাদনা ক্লিক করুন। আপনি গল্পের সাথে সন্তুষ্ট হলে, সংরক্ষণ করুন ক্লিক করুন।
  10. অ্যাপ দ্বারা সমর্থিত প্রতিটি স্ল্যাশ কমান্ড পরীক্ষা করুন। সেগুলি দেখতে, টাইপ করুন / অথবা চ্যাট অ্যাপটি উল্লেখ করুন।
  11. /cleanupUserStories স্ল্যাশ কমান্ড জারি করে পরীক্ষার ব্যবহারকারীর গল্প মুছুন। বিকল্পভাবে, অ্যাপটি সরান বা আনইনস্টল করুন । সরানো হলে, অ্যাপটি সেই স্পেসে তৈরি সমস্ত ব্যবহারকারীর গল্প মুছে দেয়।

সমস্যা সমাধান

যখন একটি Google চ্যাট অ্যাপ বা কার্ড একটি ত্রুটি ফেরত দেয়, তখন চ্যাট ইন্টারফেস "কিছু ভুল হয়েছে" বলে একটি বার্তা দেখায়। অথবা "আপনার অনুরোধ প্রক্রিয়া করতে অক্ষম।" কখনও কখনও চ্যাট UI কোনও ত্রুটি বার্তা প্রদর্শন করে না, তবে চ্যাট অ্যাপ বা কার্ড একটি অপ্রত্যাশিত ফলাফল তৈরি করে; উদাহরণস্বরূপ, একটি কার্ড বার্তা প্রদর্শিত নাও হতে পারে৷

যদিও একটি ত্রুটি বার্তা চ্যাট UI-তে প্রদর্শিত নাও হতে পারে, বর্ণনামূলক ত্রুটি বার্তা এবং লগ ডেটা উপলব্ধ রয়েছে যাতে আপনি যখন চ্যাট অ্যাপগুলির জন্য ত্রুটি লগিং চালু থাকে তখন ত্রুটিগুলি ঠিক করতে সহায়তা করে৷ দেখা, ডিবাগিং এবং ত্রুটিগুলি সংশোধন করতে সহায়তার জন্য, Google Chat ত্রুটিগুলি সমস্যা সমাধান এবং ঠিক করুন দেখুন৷

পরিষ্কার করুন

এই টিউটোরিয়ালে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, আমরা আপনাকে ক্লাউড প্রকল্পটি মুছে ফেলার পরামর্শ দিই।

  1. Google ক্লাউড কনসোলে, সম্পদ পরিচালনা পৃষ্ঠাতে যান। মেনু > আইএএম এবং অ্যাডমিন > সম্পদ পরিচালনা করুন ক্লিক করুন।

    রিসোর্স ম্যানেজারে যান

  2. প্রকল্প তালিকায়, আপনি যে প্রকল্পটি মুছতে চান সেটি নির্বাচন করুন এবং তারপরে মুছুন ক্লিক করুন।
  3. ডায়ালগে, প্রকল্প আইডি টাইপ করুন এবং তারপরে প্রকল্পটি মুছে ফেলতে শাট ডাউন ক্লিক করুন।