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

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

  • প্রজেক্ট ম্যানেজমেন্ট অ্যাপের কথা উল্লেখ করলে অ্যাপটি সাহায্যের প্রস্তাব দেয়।
    চিত্র ১. চার্লি তাদের দলের সাথে একটি চ্যাট স্পেসে বৈশিষ্ট্য উন্নয়ন নিয়ে আলোচনা করে। প্রকল্প ব্যবস্থাপনা চ্যাট অ্যাপ উল্লেখ করলে চ্যাট অ্যাপটি সাহায্যের প্রস্তাব দেয়।
  • /createUserStory স্ল্যাশ কমান্ড ব্যবহার করে একটি গল্প তৈরি করা।
    চিত্র ২. /createUserStory স্ল্যাশ কমান্ড ব্যবহার করে, চার্লি একটি গল্প তৈরি করে।
  • প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি গল্পের বিবরণ লেখার জন্য ভার্টেক্স এআই ব্যবহার করে।
    চিত্র ৩. প্রজেক্ট ম্যানেজমেন্ট চ্যাট অ্যাপটি গল্পের বিবরণ লেখার জন্য ভার্টেক্স এআই ব্যবহার করে, তারপর স্পেসে গল্পটি শেয়ার করে।
  • চার্লি গল্পের বিস্তারিত চূড়ান্ত করে।
    চিত্র ৪. গল্পের বিবরণ চূড়ান্ত করতে চার্লি Edit এ ক্লিক করে। AI বর্ণনাটি সঠিক, কিন্তু চার্লি আরও বিশদ জানতে চায়, তাই ভার্টেক্স AI গল্পের বিবরণে প্রয়োজনীয়তা যোগ করার জন্য চার্লি Expand এ ক্লিক করে। চার্লি গল্পটি নিজের জন্য নির্ধারণ করে, status started এ সেট করে, একটি উপযুক্ত অগ্রাধিকার এবং আকার নির্বাচন করে, তারপর Save এ ক্লিক করে।
  • দলের সকল ব্যবহারকারীর গল্প পরিচালনা করা।
    চিত্র ৫। যেকোনো সময়, চার্লি /manageUserStories স্ল্যাশ কমান্ডের সাহায্যে দলের সমস্ত ব্যবহারকারীর গল্প দেখতে এবং পরিচালনা করতে পারে।

পূর্বশর্ত

উদ্দেশ্য

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

ব্যবহৃত পণ্য

প্রজেক্ট ম্যানেজমেন্ট অ্যাপটি নিম্নলিখিত Google Workspace এবং Google Cloud পণ্যগুলি ব্যবহার করে:

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

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

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

স্থাপত্য

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    একটি প্রকল্প তৈরি করুন বিভাগে যান।

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

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

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

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

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

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

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

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

  1. গুগল ক্লাউড কনসোলে, বিলিং এ যান। মেনু > বিলিং > মাই প্রোজেক্টস এ ক্লিক করুন।

    আমার প্রকল্পের জন্য বিলিং বিভাগে যান।

  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 ক্লাউড প্রকল্পের সাথে লিঙ্ক করার জন্য বিলিং অ্যাকাউন্ট আইডি

API গুলি সক্ষম করুন

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

  1. গুগল ক্লাউড কনসোলে, গুগল চ্যাট এপিআই, ভার্টেক্স এআই এপিআই, ক্লাউড ফাংশন এপিআই, ফায়ারস্টোর এপিআই, ক্লাউড বিল্ড এপিআই, পাব/সাব এপিআই এবং ক্লাউড রান অ্যাডমিন এপিআই সক্ষম করুন।

    API গুলি সক্ষম করুন

  2. নিশ্চিত করুন যে আপনি সঠিক ক্লাউড প্রজেক্টে API গুলি সক্রিয় করছেন, তারপর Next এ ক্লিক করুন।

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

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

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

    gcloud config set project PROJECT_ID

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

  2. gcloud services enable কমান্ড ব্যবহার করে Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API এবং Cloud Run Admin API সক্ষম করুন:

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

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

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

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

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

গুগল চ্যাট অ্যাপ তৈরি এবং স্থাপন করুন

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

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

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

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

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

নিচের চিত্রটি প্রোজেক্ট ম্যানেজমেন্ট গুগল চ্যাট অ্যাপের ডেটা মডেলের একটি সারসংক্ষেপ:

ফায়ারস্টোর ডাটাবেসের ডেটা মডেল।

মূল সংগ্রহ হল spaces , যেখানে প্রতিটি ডকুমেন্ট এমন একটি স্থানকে প্রতিনিধিত্ব করে যেখানে চ্যাট অ্যাপ গল্প তৈরি করেছে। প্রতিটি ব্যবহারকারীর গল্প userStories উপ-সংগ্রহে একটি নথি দ্বারা প্রতিনিধিত্ব করা হয়, এবং প্রতিটি ব্যবহারকারী users উপ-সংগ্রহে একটি নথি দ্বারা প্রতিনিধিত্ব করা হয়।

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

spaces

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

ক্ষেত্র
Document ID String
একটি নির্দিষ্ট স্থানের অনন্য আইডি যেখানে গল্প তৈরি করা হয়। চ্যাট API-তে স্থানের রিসোর্স নামের সাথে সঙ্গতিপূর্ণ।
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
ব্যবহারকারীর চ্যাট অবতারের ছবি হোস্ট করা URL।
displayName String
ব্যবহারকারীর চ্যাট প্রদর্শনের নাম।

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

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

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

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

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

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

  4. চালিয়ে যান ক্লিক করুন।

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

    1. Name your database এ, Database ID (default) হিসেবে রেখে দিন।

    2. Location type তে, আপনার ডাটাবেসের জন্য একটি অঞ্চল নির্দিষ্ট করুন, যেমন us-central1 । সেরা পারফরম্যান্সের জন্য, Chat অ্যাপের Cloud Function এর মতো একই বা কাছাকাছি অবস্থান নির্বাচন করুন।

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

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

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

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

    LOCATION পরিবর্তে Firestore অঞ্চলের নাম দিন, যেমন us-central1

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

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

GitHub-এ দেখুন

এখানে প্রতিটি ফাইলের একটি সারসংক্ষেপ দেওয়া হল:

env.js
একটি নির্দিষ্ট Google ক্লাউড প্রোজেক্ট এবং অঞ্চলে Chat অ্যাপ স্থাপনের জন্য পরিবেশগত কনফিগারেশন ভেরিয়েবল। আপনাকে এই ফাইলের কনফিগারেশন ভেরিয়েবলগুলি আপডেট করতে হবে।
package.json এবং package-lock.json
Node.js প্রকল্প সেটিংস এবং নির্ভরতা।
index.js
চ্যাট অ্যাপের ক্লাউড ফাংশনের প্রবেশ বিন্দু। এটি HTTP অনুরোধ থেকে চ্যাট ইভেন্টটি পড়ে, অ্যাপ হ্যান্ডলারকে কল করে এবং HTTP প্রতিক্রিয়াটিকে JSON অবজেক্ট হিসাবে পোস্ট করে।
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
জেনারেটিভ এআই টেক্সট ভবিষ্যদ্বাণীর জন্য ভার্টেক্স এআই এপিআই কল করে।
model/*.js
এই ফাইলগুলিতে ক্লাস এবং এনামের সংজ্ঞা থাকে যা অ্যাপ্লিকেশন পরিষেবাগুলি ফাংশনগুলির মধ্যে ডেটা সংরক্ষণ এবং প্রেরণের জন্য ব্যবহার করে। তারা ফায়ারস্টোর ডাটাবেসের জন্য ডেটা মডেল সেট করে।
views/*.js
এই ডিরেক্টরির প্রতিটি ফাইল একটি কার্ড অবজেক্ট ইনস্ট্যান্টিয়েট করে যা চ্যাট অ্যাপটি কার্ড মেসেজ অথবা ডায়ালগ অ্যাকশন রেসপন্স হিসেবে চ্যাটে ফেরত পাঠায়।
views/widgets/*.js
প্রতিটি ফাইল এক ধরণের উইজেট অবজেক্ট তৈরি করে যা অ্যাপটি views/ ডিরেক্টরিতে কার্ড তৈরি করতে ব্যবহার করে।
test/**/*.test.js
এই ডিরেক্টরি এবং এর সাবডিরেক্টরির প্রতিটি ফাইলে সংশ্লিষ্ট ফাংশন, কন্ট্রোলার, সার্ভিস, ভিউ বা উইজেটের জন্য ইউনিট পরীক্ষা রয়েছে। আপনি প্রকল্পের রুট ডিরেক্টরিতে থাকাকালীন npm run test চালিয়ে সমস্ত ইউনিট পরীক্ষা সম্পাদন করতে পারেন।

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

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

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

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

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

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

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

  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 ক্লাউড প্রজেক্টটি নির্বাচন করা আছে কিনা তা নিশ্চিত করুন।

  5. ক্লিক করুন ফাংশন তৈরি করুন

  6. Create function পৃষ্ঠায়, আপনার function সেট আপ করুন:

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

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

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

  10. Destination bucket এ, একটি bucket তৈরি করুন বা নির্বাচন করুন:

    1. ব্রাউজ করুন এ ক্লিক করুন।
    2. একটি বালতি বেছে নিন।
    3. নির্বাচন করুন ক্লিক করুন।

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

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

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

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

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

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

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

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

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

  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 Cloud Project ID দিয়ে project-id প্রতিস্থাপন করুন।
    2. us-central1 পরিবর্তে আপনার Google ক্লাউড প্রোজেক্টের অবস্থান লিখুন।
  4. গুগল ক্লাউডে ক্লাউড ফাংশন স্থাপন করুন:

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

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

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

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

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

  1. গুগল ক্লাউড কনসোলে, মেনু > আরও পণ্য > গুগল ওয়ার্কস্পেস > প্রোডাক্ট লাইব্রেরি > গুগল চ্যাট এপিআই > ম্যানেজ > কনফিগারেশন এ ক্লিক করুন।

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

  2. "এই চ্যাট অ্যাপটিকে Google Workspace অ্যাড-অন হিসেবে তৈরি করুন" সাফ করুন। একটি ডায়ালগ খুলবে যেখানে আপনাকে নিশ্চিত করতে বলা হবে। ডায়ালগে, "অক্ষম করুন" এ ক্লিক করুন।

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

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

  5. Description- এ, Manages projects with user stories.

  6. "ইন্টারেক্টিভ বৈশিষ্ট্যগুলি সক্ষম করুন" এ ক্লিক করে অন পজিশনে টগল করুন।

  7. কার্যকারিতার অধীনে, Join spaces and group conversations নির্বাচন করুন।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. গুগল চ্যাট-এ ফেরত যান।

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

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

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

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

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

পরিষ্কার কর

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

  1. গুগল ক্লাউড কনসোলে, রিসোর্স পরিচালনা পৃষ্ঠায় যান। মেনু > IAM & Admin > রিসোর্স পরিচালনা করুন এ ক্লিক করুন।

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

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