Google Chat, Vertex AI, और Firestore की मदद से प्रोजेक्ट मैनेज करें

इस ट्यूटोरियल में, Google Chat ऐप्लिकेशन बनाने का तरीका बताया गया है. इस ऐप्लिकेशन का इस्तेमाल करके, टीम रीयल टाइम में प्रोजेक्ट मैनेज कर सकती है. Chat ऐप्लिकेशन, Vertex AI का इस्तेमाल उपयोगकर्ता कहानियां लिखने में टीम की मदद करने के लिए करता है. ये खबरें एक सॉफ़्टवेयर सिस्टम की ऐसी सुविधाओं को दिखाती हैं जिन्हें उपयोगकर्ता के हिसाब से डेवलप करने के लिए देखा जा सकता है. साथ ही, वे Firestore डेटाबेस में स्टोरी बनाए रखने में भी मदद करते हैं.

  • प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन के बारे में बताने पर, ऐप्लिकेशन उससे मदद मांगता है.
    पहली इमेज. चार्ली ने चैट स्पेस में अपनी टीम के साथ फ़ीचर डेवलपमेंट पर चर्चा की. प्रोजेक्ट मैनेज करने के लिए Chat ऐप्लिकेशन का इस्तेमाल करने पर, Chat ऐप्लिकेशन को मदद के लिए अनुरोध मिलता है.
  • स्टोरी बनाने के लिए, /createUserStory स्लैश कमांड का इस्तेमाल करना.
    दूसरी इमेज. /createUserStory स्लैश कमांड का इस्तेमाल करके, चार्ली एक स्टोरी बनाते हैं.
  • प्रोजेक्ट मैनेजमेंट करने वाला Chat ऐप्लिकेशन, कहानी का ब्यौरा लिखने के लिए Vertex AI का इस्तेमाल करता है.
    तीसरी इमेज. प्रोजेक्ट मैनेज करने के लिए इस्तेमाल किया जाने वाला Chat ऐप्लिकेशन, Vertex AI का इस्तेमाल करके स्टोरी का ब्यौरा लिखता है और स्पेस में स्टोरी शेयर करता है.
  • चार्ली ने कहानी की पूरी जानकारी दे दी है.
    चौथी इमेज. हरिहरन, कहानी की पूरी जानकारी देने के लिए बदलाव करें पर क्लिक करते हैं. एआई की मदद से दी गई जानकारी सटीक है, लेकिन चार्ली को ज़्यादा जानकारी चाहिए, तो चार्ली को बड़ा करें पर क्लिक करें, ताकि वे Vertex AI की मदद से, कहानी के ब्यौरे में ज़रूरी जानकारी शामिल कर सकें. चार्ली ने खुद को यह स्टोरी असाइन की हो और स्टेटस को शुरू करने के लिए सेट किया हो. इसके बाद, जो प्राथमिकता और साइज़ सही हो उसे चुनकर सेव करें पर क्लिक करें.
  • टीम के सभी यूज़र स्टोरी मैनेज करना.
    पांचवी इमेज. चार्ली किसी भी समय /manageUserStories स्लैश कमांड की मदद से, टीम के सभी उपयोगकर्ताओं की कहानियां देख सकते हैं और उन्हें मैनेज कर सकते हैं.

ज़रूरी शर्तें

मकसद

  • ऐसा चैट ऐप्लिकेशन बनाएं जो तेज़ी से काम करने वाले सॉफ़्टवेयर प्रोजेक्ट मैनेज करें.
  • उपयोगकर्ताओं को Vertex AI के साथ काम करने वाले जनरेटिव एआई की मदद से स्टोरी लिखने वाले टूल इस्तेमाल करके, उपयोगकर्ताओं की कहानियां लिखने में मदद करें:
    • स्टोरी के ब्यौरे जनरेट करें और उन्हें फिर से जनरेट करें.
    • ज़रूरी शर्तों को पूरा करने के लिए, नोट से जुड़ी खबर के ब्यौरे को बड़ा करें.
    • टाइपिंग की गलतियों को ठीक करने के लिए व्याकरण को सही करें.
  • Firestore डेटाबेस में डेटा लिखकर और उसकी मदद से, अपने काम को अप-टू-डेट रखें.
  • चैट स्पेस में लोगों को साथ मिलकर काम करने की सुविधा दें. इससे लोगों को सीधे बातचीत से स्टोरी बनाने, उनमें बदलाव करने, असाइन करने, और उन्हें शुरू करने की अनुमति दी जा सकती है.

इस्तेमाल किए गए प्रॉडक्ट

प्रोजेक्ट मैनेजमेंट ऐप्लिकेशन में, Google Workspace और Google Cloud के इन प्रॉडक्ट का इस्तेमाल किया जाता है:

  • Chat API: यह Google Chat ऐप्लिकेशन डेवलप करने के लिए एक एपीआई है, जो चैट इंटरैक्शन इवेंट (जैसे मैसेज) को रिसीव और उनका जवाब देता है. प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन, Chat से भेजे गए इंटरैक्शन इवेंट को पाने और उनका जवाब देने के लिए Chat API का इस्तेमाल करता है. साथ ही, उन एट्रिब्यूट को कॉन्फ़िगर करने के लिए भी Chat का इस्तेमाल करता है जो तय करते हैं कि Chat में यह कैसे दिखेगा, जैसे कि नाम और अवतार इमेज.
  • Vertex AI API: यह एक जनरेटिव एआई प्लैटफ़ॉर्म है. प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन, लोगों की कहानी के टाइटल और ब्यौरे लिखने के लिए Vertex AI API का इस्तेमाल करता है.
  • Firestore: बिना सर्वर वाला दस्तावेज़ डेटाबेस. प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन, Firebase का इस्तेमाल करके उपयोगकर्ताओं की स्टोरी का डेटा सेव करता है.
  • Cloud फ़ंक्शन: बिना सर्वर वाली एक लाइटवेट सेवा, जिससे आपको एक ही मकसद के लिए स्टैंडअलोन फ़ंक्शन बनाने की सुविधा मिलती है. इनसे सर्वर या रनटाइम एनवायरमेंट को मैनेज किए बिना, Chat इंटरैक्शन इवेंट का जवाब दिया जा सकता है. प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन एचटीटीपी एंडपॉइंट को होस्ट करने के लिए Cloud Functions का इस्तेमाल करता है. Chat उस एंडपॉइंट को होस्ट करता है जिस पर Chat, इंटरैक्शन इवेंट भेजता है. यह एक कंप्यूट प्लैटफ़ॉर्म के तौर पर, एक लॉजिक रन करता है जो इन इवेंट को प्रोसेस करता है और उनका जवाब देता है.

    Cloud Functions, इंटरैक्शन इवेंट बनाने, प्रोसेस करने, और कंप्यूट संसाधनों को होस्ट करने के लिए Google Cloud के इन प्रॉडक्ट का इस्तेमाल करता है:

    • Cloud Build: यह पूरी तरह से मैनेज किया गया लगातार इंटिग्रेशन, डिलीवरी, और डिप्लॉयमेंट प्लैटफ़ॉर्म है. यह ऑटोमेटेड बिल्ड चलाता है.
    • Pub/Sub: यह एसिंक्रोनस और स्केलेबल मैसेज सेवा है. यह सेवा, मैसेज प्रोसेस करने वाली सेवाओं से मैसेज तैयार करने वाली सेवाओं को अलग करती है.
    • Cloud Run एडमिन एपीआई: कंटेनर वाले ऐप्लिकेशन चलाने के लिए, पूरी तरह से मैनेज की गई सेटिंग.

आर्किटेक्चर

प्रोजेक्ट मैनेजमेंट के लिए, Google Chat ऐप्लिकेशन का आर्किटेक्चर, एचटीटीपी एंडपॉइंट पर चैट इंटरैक्शन इवेंट को रिसीव और प्रोसेस करता है. यह उपयोगकर्ता की कहानियां लिखने के लिए Vertex AI का इस्तेमाल करता है और Firestore डेटाबेस में उपयोगकर्ता की कहानी की जानकारी सेव करता है. इस डायग्राम में, Google Workspace और इस्तेमाल किए गए Google Cloud के संसाधनों का आर्किटेक्चर दिखाया गया है.

Google Chat ऐप्लिकेशन के प्रोजेक्ट मैनेजमेंट का आर्किटेक्चर डायग्राम

प्रोजेक्ट मैनेजमेंट के लिए, Google Chat ऐप्लिकेशन इस तरह काम करता है:

  1. कोई उपयोगकर्ता Chat में मैसेज भेजता है और प्रोजेक्ट मैनेजमेंट के लिए, Google Chat ऐप्लिकेशन को शुरू करता है. इसके लिए, सीधे तौर पर मैसेज भेजकर, स्पेस में उसका नाम टैग किया जाता है या स्लैश कमांड डाला जाता है.

  2. Chat, क्लाउड फ़ंक्शन के एचटीटीपी एंडपॉइंट पर सिंक्रोनस एचटीटीपी अनुरोध भेजता है.

  3. प्रोजेक्ट मैनेजमेंट वाला Google Chat ऐप्लिकेशन, एचटीटीपी अनुरोध को प्रोसेस करता है:

    1. Vertex AI की मदद से, उपयोगकर्ता की स्टोरी लिखी जा सकती है या उसे अपडेट किया जा सकता है.

    2. Firestore डेटाबेस उपयोगकर्ता कहानी का डेटा सेव करता है, फिर से हासिल करता है, अपडेट करता है या मिटा देता है.

  4. Cloud Functions, Chat के लिए एक एचटीटीपी रिस्पॉन्स दिखाता है, जो उपयोगकर्ता को मैसेज या डायलॉग दिखाता है.

पर्यावरण को तैयार करने के लिए तैयार करना

इस सेक्शन में, Chat ऐप्लिकेशन के लिए Google Cloud प्रोजेक्ट बनाने और उसे कॉन्फ़िगर करने का तरीका बताया गया है.

Google Cloud प्रोजेक्ट तैयार करना

Google Cloud कंसोल

  1. Google Cloud Console में, मेन्यू > IAM और एडमिन > प्रोजेक्ट बनाएं पर जाएं.

    'प्रोजेक्ट बनाएं' पर जाएं

  2. प्रोजेक्ट का नाम फ़ील्ड में, अपने प्रोजेक्ट के लिए जानकारी देने वाला नाम डालें.

    ज़रूरी नहीं: प्रोजेक्ट आईडी में बदलाव करने के लिए बदलाव करें पर क्लिक करें. प्रोजेक्ट बनाने के बाद, प्रोजेक्ट आईडी नहीं बदला जा सकता. इसलिए, ऐसा आईडी चुनें जो आपके प्रोजेक्ट के लिए हमेशा ज़रूरी हो.

  3. अपने प्रोजेक्ट की संभावित जगहें देखने के लिए, जगह फ़ील्ड में ब्राउज़ करें पर क्लिक करें. इसके बाद, चुनें पर क्लिक करें.
  4. बनाएं पर क्लिक करें. Google Cloud Console, डैशबोर्ड पेज पर जाता है और कुछ ही मिनटों में आपका प्रोजेक्ट बन जाता है.

gcloud सीएलआई

इनमें से किसी एक डेवलपमेंट एनवायरमेंट में, Google Cloud सीएलआई (`gcloud`) को ऐक्सेस करें:

  • Cloud Shell: पहले से सेट अप किए गए gcloud सीएलआई के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, Cloud Shell को चालू करें.
    Cloud Shell चालू करें
  • लोकल शेल: लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करने के लिए, gcloud सीएलआई को इंस्टॉल करें और initialize.
    क्लाउड प्रोजेक्ट बनाने के लिए, `gcloud projects create`कमांड का इस्तेमाल करें:
    gcloud projects create PROJECT_ID
    आपको जो प्रोजेक्ट बनाना है उसका आईडी सेट करके, PROJECT_ID को बदलें.

Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करें

Google Cloud कंसोल

  1. Google Cloud Console में, बिलिंग पर जाएं. मेन्यू > बिलिंग > मेरे प्रोजेक्ट पर क्लिक करें.

    मेरे प्रोजेक्ट के लिए बिलिंग पर जाएं

  2. संगठन चुनें में जाकर, अपने Google Cloud प्रोजेक्ट से जुड़ा संगठन चुनें.
  3. प्रोजेक्ट की लाइन में, कार्रवाई मेन्यू () खोलें. बिलिंग बदलें पर क्लिक करें और क्लाउड बिलिंग खाता चुनें.
  4. खाता सेट करें पर क्लिक करें.

gcloud सीएलआई

  1. उपलब्ध बिलिंग खातों की सूची बनाने के लिए, इसे चलाएं:
    gcloud billing accounts list
  2. Google Cloud प्रोजेक्ट के साथ बिलिंग खाता जोड़ें:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    इन्हें बदलें:

    • PROJECT_ID, उस Cloud प्रोजेक्ट का प्रोजेक्ट आईडी है जिसके लिए आपको बिलिंग की सुविधा चालू करनी है.
    • Google Cloud प्रोजेक्ट से लिंक करने के लिए, BILLING_ACCOUNT_ID बिलिंग खाता आईडी है.

एपीआई चालू करें

Google Cloud कंसोल

  1. Google Cloud Console में, Google Chat API, Vertex AI API, Cloud Functions API, Firestore एपीआई, Cloud Build API, Pub/Sub एपीआई, और Cloud Run एडमिन एपीआई चालू करें.

    एपीआई चालू करना

  2. पक्का करें कि आपने सही Cloud प्रोजेक्ट में एपीआई चालू किए हैं. इसके बाद, आगे बढ़ें पर क्लिक करें.

  3. पक्का करें कि आपने सही एपीआई चालू किए हैं. इसके बाद, चालू करें पर क्लिक करें.

gcloud सीएलआई

  1. अगर ज़रूरी हो, तो मौजूदा Cloud प्रोजेक्ट को उस प्रोजेक्ट पर सेट करें जिसे आपने gcloud config set project कमांड की मदद से बनाया है:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID की जगह, आपके बनाए गए Cloud प्रोजेक्ट के प्रोजेक्ट आईडी का इस्तेमाल करें.

  2. gcloud services enable कमांड की मदद से, Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub एपीआई, और Cloud Run एडमिन एपीआई चालू करें:

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

    Cloud Build, Pub/Sub, और Cloud Run एडमिन एपीआई, Cloud Functions की ज़रूरी शर्तें हैं.

पुष्टि करना और अनुमति देना

इस ट्यूटोरियल को फ़ॉलो करने के लिए, पुष्टि करने और अनुमति देने वाले कॉन्फ़िगरेशन की ज़रूरत नहीं है.

Firestore और Vertex AI API को कॉल करने के लिए, यह ट्यूटोरियल Cloud फ़ंक्शन से जुड़े डिफ़ॉल्ट सेवा खाते के साथ ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करता है. आपको इसे सेट अप करने की ज़रूरत नहीं है. प्रोडक्शन एनवायरमेंट के लिए, आम तौर पर आपको Cloud फ़ंक्शन से कोई सेवा खाता बनाना और अटैच करना होता है.

Google Chat ऐप्लिकेशन बनाना और डिप्लॉय करना

अब आपका Google Cloud प्रोजेक्ट बन गया है और उसे कॉन्फ़िगर कर लिया गया है. इसलिए, अब Google Chat ऐप्लिकेशन बनाया और डिप्लॉय किया जा सकता है. इस सेक्शन में, ये काम करें:

  1. ऐसा Firestore डेटाबेस बनाएं जिसमें लोगों की जानकारी को सेव रखा जा सके और फिर से हासिल किया जा सके.
  2. वैकल्पिक रूप से, सैंपल कोड देखें.
  3. एचटीटीपी अनुरोधों के तौर पर Chat से मिले इवेंट के जवाब में, Chat ऐप्लिकेशन के कोड को होस्ट करने और चलाने के लिए Cloud फ़ंक्शन बनाएं.
  4. Google Chat API के कॉन्फ़िगरेशन पेज पर, Google Chat ऐप्लिकेशन बनाना और डिप्लॉय करना.

Firestore डेटाबेस बनाएं

इस सेक्शन में, उपयोगकर्ता की कहानियों को बनाए रखने और उन्हें वापस पाने के लिए, Firestore डेटाबेस बनाया जा सकता है. हालांकि, डेटा मॉडल को तय करना ज़रूरी नहीं है. डेटा मॉडल को, model/user-story.js और model/user.js फ़ाइलों के ज़रिए, सैंपल कोड में साफ़ तौर पर सेट किया जाता है.

प्रोजेक्ट मैनेजमेंट वाले Chat ऐप्लिकेशन का डेटाबेस, NoSQL डेटा मॉडल का इस्तेमाल करता है. यह मॉडल कलेक्शन में व्यवस्थित किए गए दस्तावेज़ पर आधारित होता है. ज़्यादा जानने के लिए, Firestore डेटा मॉडल देखें.

नीचे दिए गए डायग्राम में, प्रोजेक्ट मैनेजमेंट Google Chat ऐप्लिकेशन के डेटा मॉडल की खास जानकारी दी गई है:

Firestore डेटाबेस का डेटा मॉडल.

रूट कलेक्शन spaces है, जहां हर दस्तावेज़ एक ऐसे स्पेस को दिखाता है जिसमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं. हर उपयोगकर्ता की स्टोरी को userStories सब-कलेक्शन में एक दस्तावेज़ के तौर पर दिखाया जाता है. साथ ही, हर उपयोगकर्ता को users सब-कलेक्शन में मौजूद दस्तावेज़ से दिखाया जाता है.

कलेक्शन, दस्तावेज़, और फ़ील्ड की परिभाषाएं देखें

spaces

ऐसे स्पेस जिनमें Chat ऐप्लिकेशन ने स्टोरी बनाई हैं.

फ़ील्ड
Document IDString
किसी खास स्पेस का यूनीक आईडी, जहां खबरें बनाई जाती हैं. यह Chat API में स्पेस के संसाधन के नाम से मेल खाता है.
userStoriesSubcollection of Documents (userStories)
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई हुई स्टोरीज़. Firebase में userStories के Document ID से मेल खाता है.
usersSubcollection of Documents (user)
ऐसे उपयोगकर्ता जिन्होंने स्टोरी बनाई हैं या जिन्हें स्टोरी असाइन की गई हैं.
displayNameString
Chat API में मौजूद स्पेस का डिसप्ले नेम. उपयोगकर्ताओं को डायरेक्ट मैसेज भेजने के लिए सेट नहीं है.

userStories

Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई स्टोरी.

फ़ील्ड
Document IDString
Chat ऐप्लिकेशन और उसके उपयोगकर्ताओं की बनाई गई, उपयोगकर्ता स्टोरी का यूनीक आईडी.
assigneeDocument (user)
स्टोरी को पूरा करने के लिए, असाइन किए गए उपयोगकर्ता के संसाधन का नाम. यह users दस्तावेज़ के Document ID और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है.
descriptionString
उपयोगकर्ता के हिसाब से, सॉफ़्टवेयर की सुविधा के बारे में जानकारी.
priorityEnum
किसी काम को पूरा करने की ज़रूरत. इसकी वैल्यू Low, Medium या High हो सकती हैं.
sizeEnum
काम की संख्या. इसकी वैल्यू Small, Medium या Large हो सकती हैं.
statusEnum
काम का चरण. इसकी वैल्यू OPEN, STARTED या COMPLETED हो सकती हैं.
titleString
कहानी का शीर्षक और कम शब्दों में खास जानकारी.

users

ऐसे उपयोगकर्ता जिन्होंने स्टोरी बनाई हैं या जिन्हें स्टोरी असाइन की गई हैं.

फ़ील्ड
Document IDString
किसी उपयोगकर्ता का यूनीक आईडी. यह Firebase में userStories के assignee और Chat API में उपयोगकर्ता के संसाधन के नाम से मेल खाता है.
avatarUrlString
उपयोगकर्ता के Chat अवतार की इमेज को होस्ट करने वाला यूआरएल.
displayNameString
उपयोगकर्ता के चैट का डिसप्ले नेम.

यहां Firestore डेटाबेस बनाने का तरीका बताया गया है:

Google Cloud कंसोल

  1. Google Cloud Console में, Firestore पर जाएं. मेन्यू > फ़ायरस्टोर पर क्लिक करें.

    Firestore पर जाएं

  2. डेटाबेस बनाएं पर क्लिक करें.

  3. अपना Firestore मोड चुनें में जाकर, नेटिव मोड पर क्लिक करें.

  4. जारी रखें पर क्लिक करें.

  5. डेटाबेस को कॉन्फ़िगर करें:

    1. अपने डेटाबेस को नाम दें में, डेटाबेस आईडी को (default) रहने दें.

    2. जगह के टाइप में, अपने डेटाबेस के लिए क्षेत्र की जानकारी दें, जैसे कि us-central1. बेहतरीन परफ़ॉर्मेंस के लिए, उसी या आस-पास की जगह को चुनें. इसमें Chat ऐप्लिकेशन का Cloud फ़ंक्शन मौजूद है.

  6. डेटाबेस बनाएं पर क्लिक करें.

gcloud सीएलआई

  • gcloud firestore databases create कमांड की मदद से, नेटिव मोड में Firestore डेटाबेस बनाएं:

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

    LOCATION की जगह Firestore क्षेत्र का नाम डालें, जैसे कि us-central1.

सैंपल कोड की समीक्षा करें

इसके अलावा, Cloud फ़ंक्शन बनाने से पहले, कुछ समय निकालकर GitHub पर होस्ट किए गए सैंपल कोड के बारे में अच्छी तरह से जान लें.

GitHub पर देखें

यहां हर फ़ाइल की खास जानकारी दी गई है:

env.js
किसी खास Google Cloud प्रोजेक्ट और इलाके में Chat ऐप्लिकेशन को डिप्लॉय करने के लिए, एनवायरमेंट कॉन्फ़िगरेशन वैरिएबल जोड़ें. आपको इस फ़ाइल में कॉन्फ़िगरेशन वैरिएबल अपडेट करने होंगे.
package.json और package-lock.json
Node.js प्रोजेक्ट की सेटिंग और डिपेंडेंसी.
index.js
Chat ऐप्लिकेशन के Cloud फ़ंक्शन के लिए एंट्री पॉइंट. यह एचटीटीपी अनुरोध से मिले चैट इवेंट को पढ़ता है, ऐप्लिकेशन हैंडलर को कॉल करता है, और एचटीटीपी रिस्पॉन्स को JSON ऑब्जेक्ट के तौर पर पोस्ट करता है.
controllers/app.js
ऐप्लिकेशन का मुख्य लॉजिक. यह Chat ऐप्लिकेशन के टैग और स्लैश कमांड को मैनेज करके, इंटरैक्शन इवेंट को प्रोसेस करता है. कार्ड क्लिक का जवाब देने के लिए, यह app-action-handler.js को कॉल करता है.
controllers/app-action-handler.js
कार्ड क्लिक को हैंडल करने के लिए ऐप्लिकेशन लॉजिक चैट इंटरैक्शन इवेंट.
services/space-service.js, services/user-service.js, और services/user-story-service.js
इन फ़ाइलों में, ऐप्लिकेशन लॉजिक के कुछ हिस्से होते हैं. ये खास तौर पर Chat स्पेस, उपयोगकर्ताओं, और यूज़र स्टोरी के साथ काम करने के लिए होते हैं. इन फ़ाइलों के फ़ंक्शन को 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
यह जनरेटिव एआई वाले टेक्स्ट का अनुमान लगाने के लिए, Vertex AI API को कॉल करता है.
model/*.js
इन फ़ाइलों में उन क्लास और इनम की परिभाषा शामिल होती है जिनका इस्तेमाल ऐप्लिकेशन सेवाएं, फ़ंक्शन के बीच डेटा को सेव और पास करने के लिए करती हैं. वे Firestore डेटाबेस के लिए डेटा मॉडल सेट करते हैं.
views/*.js
इस डायरेक्ट्री की हर फ़ाइल में एक कार्ड ऑब्जेक्ट दिखता है. इसके बाद, Chat ऐप्लिकेशन इसे कार्ड मैसेज या डायलॉग ऐक्शन रिस्पॉन्स के तौर पर Chat को वापस भेजता है.
views/widgets/*.js
हर फ़ाइल एक तरह के विजेट ऑब्जेक्ट को इंस्टैंशिएट करती है, जिसका इस्तेमाल ऐप्लिकेशन views/ डायरेक्ट्री में कार्ड बनाने के लिए करता है.
test/**/*.test.js
इस डायरेक्ट्री और इसकी सबडायरेक्ट्री की हर फ़ाइल में, उससे जुड़े फ़ंक्शन, कंट्रोलर, सेवा, व्यू या विजेट के लिए यूनिट टेस्ट होते हैं. प्रोजेक्ट की रूट डायरेक्ट्री में npm run test चलाकर, सभी यूनिट टेस्ट लागू किए जा सकते हैं.

क्लाउड फ़ंक्शन बनाना और डिप्लॉय करना

इस सेक्शन में, एक ऐसा क्लाउड फ़ंक्शन बनाया और डिप्लॉय किया जा सकता है जिसमें प्रोजेक्ट मैनेजमेंट के लिए बने, चैट ऐप्लिकेशन का ऐप्लिकेशन लॉजिक शामिल हो.

Cloud फ़ंक्शन, Chat से मिले एचटीटीपी अनुरोध के रिस्पॉन्स में चलता है. इसमें Chat इंटरैक्शन इवेंट शामिल होता है. रन करने पर, क्लाउड फ़ंक्शन कोड इवेंट को प्रोसेस करता है और Chat को रिस्पॉन्स दिखाता है. Chat को मैसेज, डायलॉग या उपयोगकर्ता के किसी अन्य तरह के इंटरैक्शन के तौर पर रेंडर किया जाता है. अगर लागू हो, तो Cloud फ़ंक्शन Firestore डेटाबेस से भी पढ़ या लिखता है.

क्लाउड फ़ंक्शन बनाने का तरीका यहां बताया गया है:

Google Cloud कंसोल

  1. GitHub से पिन फ़ाइल के तौर पर कोड डाउनलोड करें.

    zip फ़ाइल डाउनलोड करें

  2. डाउनलोड की गई ZIP फ़ाइल एक्स्ट्रैक्ट करें.

    एक्सट्रैक्ट किए गए फ़ोल्डर में, Google Workspace के सैंपल का पूरा डेटा स्टोर करने की जगह मौजूद होती है.

  3. एक्सट्रैक्ट किए गए फ़ोल्डर में, google-chat-samples-main/node/project-management-app/ पर जाएं. इसके बाद, project-management-app फ़ोल्डर को किसी ZIP फ़ाइल में कंप्रेस करें.

    ZIP फ़ाइल की रूट डायरेक्ट्री में नीचे दी गई फ़ाइलें और फ़ोल्डर होने चाहिए:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. Google Cloud Console में, Cloud Functions पेज पर जाएं:

    Cloud Functions पर जाएं

    पक्का करें कि आपके Chat ऐप्लिकेशन के लिए, Google Cloud प्रोजेक्ट चुना गया हो.

  5. फ़ंक्शन बनाएं पर क्लिक करें.

  6. फ़ंक्शन बनाएं पेज पर, अपना फ़ंक्शन सेट अप करें:

    1. एनवायरमेंट में, 2nd gen चुनें.
    2. फ़ंक्शन का नाम में, project-management-tutorial डालें.
    3. क्षेत्र में, कोई इलाका चुनें.
    4. पुष्टि करना में जाकर, उन बातचीत को अनुमति दें जिनकी पुष्टि नहीं की गई है चुनें.
    5. आगे बढ़ें पर क्लिक करें.
  7. रनटाइम में, Node.js 20 चुनें.

  8. एंट्री पॉइंट में, डिफ़ॉल्ट टेक्स्ट मिटाएं और projectManagementChatApp डालें.

  9. सोर्स कोड में, पिन अपलोड चुनें.

  10. डेस्टिनेशन बकेट में बनाएं या कोई बकेट चुनें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. कोई बकेट चुनें.
    3. चुनें पर क्लिक करें.

    Google Cloud, इस बकेट में ZIP फ़ाइल को अपलोड करता है और कॉम्पोनेंट फ़ाइलों को एक्सट्रैक्ट करता है. इसके बाद, Cloud Functions, कॉम्पोनेंट फ़ाइलों को Cloud फ़ंक्शन में कॉपी करता है.

  11. Zip फ़ाइल में, GitHub से डाउनलोड की गई ZIP फ़ाइल अपलोड करें. साथ ही, एक्सट्रैक्ट और कंप्रेस की गई फ़ाइल अपलोड करें:

    1. ब्राउज़ करें पर क्लिक करें.
    2. ZIP फ़ाइल पर जाएं और उसे चुनें.
    3. खोलें पर क्लिक करें.
  12. डिप्लॉय करें पर क्लिक करें.

    ऐसा करने पर, Cloud Functions की जानकारी वाला पेज खुलेगा. इसके बाद, आपका फ़ंक्शन दो प्रोग्रेस इंडिकेटर के साथ दिखेगा: पहला बिल्ड के लिए और दूसरा सेवा के लिए. जब प्रोग्रेस के दोनों इंडिकेटर नहीं दिखते हैं और उनकी जगह सही का निशान दिखता है, तो आपका फ़ंक्शन डिप्लॉय हो जाता है और इस्तेमाल के लिए तैयार हो जाता है.

  13. कॉन्सटेंट सेट करने के लिए, सैंपल कोड में बदलाव करें:

    1. Cloud फ़ंक्शन की जानकारी वाले पेज पर, बदलाव करें पर क्लिक करें.
    2. आगे बढ़ें पर क्लिक करें.
    3. सोर्स कोड में, इनलाइन एडिटर चुनें.
    4. इनलाइन एडिटर में, env.js फ़ाइल खोलें.
    5. project-id की जगह अपना Cloud प्रोजेक्ट आईडी डालें.
    6. ज़रूरी नहीं: अपने Cloud फ़ंक्शन के लिए, us-central1 को जगह की जानकारी के साथ अपडेट करें.
  14. डिप्लॉय करें पर क्लिक करें.

  15. फ़ंक्शन से डिप्लॉय होने के बाद, ट्रिगर यूआरएल कॉपी करें:

    1. फ़ंक्शन की जानकारी पेज पर, ट्रिगर पर क्लिक करें.
    2. यूआरएल कॉपी करें. आपको नीचे दिए गए सेक्शन में Chat ऐप्लिकेशन को कॉन्फ़िगर करना होगा.

gcloud सीएलआई

  1. GitHub से कोड का क्लोन बनाएं:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. उस डायरेक्ट्री पर स्विच करें जिसमें इस प्रोजेक्ट को मैनेज करने वाले Chat ऐप्लिकेशन का कोड है:

    cd google-chat-samples/node/project-management-app
    
  3. एनवायरमेंट वैरिएबल सेट करने के लिए, env.js फ़ाइल में बदलाव करें:

    1. project-id की जगह अपना Google Cloud प्रोजेक्ट आईडी डालें.
    2. us-central1 को अपने Google Cloud प्रोजेक्ट की जगह से बदलें.
  4. Google Cloud पर क्लाउड फ़ंक्शन को डिप्लॉय करें:

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

    REGION को Cloud फ़ंक्शन की जगह से बदलें, जहां इसका इन्फ़्रास्ट्रक्चर होस्ट किया जाता है, जैसे कि us-central1.

  1. फ़ंक्शन से डिप्लॉय हो जाने के बाद, रिस्पॉन्स से url प्रॉपर्टी कॉपी करें. इस ट्रिगर यूआरएल का इस्तेमाल, नीचे दिए गए सेक्शन में, Google Chat ऐप्लिकेशन को कॉन्फ़िगर करने के लिए किया जाएगा.

Google Cloud Console में Google Chat ऐप्लिकेशन को कॉन्फ़िगर करना

इस सेक्शन में बताया गया है कि Google Cloud Console में Chat ऐप्लिकेशन की जानकारी के साथ Chat API को कैसे कॉन्फ़िगर करें. इसमें Chat ऐप्लिकेशन का नाम, इस्तेमाल किए जा सकने वाले स्लैश कमांड, और Chat ऐप्लिकेशन के Cloud फ़ंक्शन का ट्रिगर यूआरएल शामिल है.

  1. Google Cloud Console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API > मैनेज करें > कॉन्फ़िगरेशन पर क्लिक करें.

    Chat API के कॉन्फ़िगरेशन पर जाएं

  2. ऐप्लिकेशन का नाम सेक्शन में, Project Manager लिखें.

  3. अवतार यूआरएल में, https://developers.google.com/chat/images/quickstart-app-avatar.png लिखें.

  4. जानकारी में, Manages projects with user stories. टाइप करें

  5. इंटरैक्टिव सुविधाएं चालू करें टॉगल पर क्लिक करके 'चालू करें' पर क्लिक करें.

  6. सुविधा में, 1:1 मैसेज पाएं, स्पेस और ग्रुप बातचीत में शामिल हों चुनें.

  7. कनेक्शन सेटिंग में, ऐप्लिकेशन यूआरएल चुनें.

  8. ऐप्लिकेशन यूआरएल में, उस ट्रिगर यूआरएल को चिपकाएं जिसे आपने क्लाउड फ़ंक्शन डिप्लॉयमेंट से कॉपी किया था. इसे https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial के तौर पर फ़ॉर्मैट किया गया है. अगर आपने gcloud सीएलआई के साथ क्लाउड फ़ंक्शन लागू किया है, तो यह url प्रॉपर्टी है.

  9. Chat ऐप्लिकेशन के स्लैश कमांड रजिस्टर करें. स्लैश कमांड को रजिस्टर करने के लिए:

    1. स्लैश कमांड में जाकर, स्लैश कमांड जोड़ें पर क्लिक करें.
    2. नीचे दी गई टेबल में दिए गए हर स्लैश कमांड के लिए, नाम, कमांड आईडी, और जानकारी डालें और चुनें कि क्या स्लैश कमांड से एक डायलॉग खुलेगा. इसके बाद, हो गया पर क्लिक करें:

      नाम निर्देश आईडी ब्यौरा एक डायलॉग खोलता है
      /createUserStory 1 तय किए गए टाइटल के साथ स्टोरी बनाएं. चुने हुए का निशान हटाया गया
      /myUserStories 2 उपयोगकर्ता को असाइन की गई सभी स्टोरी की सूची होती है. चुने हुए का निशान हटाया गया
      /userStory 3 बताई गई कहानी की मौजूदा स्थिति दिखाता है. चुने हुए का निशान हटाया गया
      /manageUserStories 4 एक डायलॉग बॉक्स खुलता है, जहां खबरों में बदलाव किया जा सकता है. चुनी गई
      /cleanupUserStories 5 स्पेस की सभी स्टोरी मिटा दी जाती हैं. चुने हुए का निशान हटाया गया
  10. किसको दिखे सेक्शन में जाकर, इस Chat ऐप्लिकेशन को अपने Workspace डोमेन में मौजूद खास लोगों और ग्रुप के लिए उपलब्ध कराएं को चुनें और अपना ईमेल पता डालें.

  11. विकल्प के तौर पर, लॉग में जाकर, लॉगिंग में गड़बड़ियों को लॉग करें चुनें.

  12. सेव करें पर क्लिक करें. कॉन्फ़िगरेशन के लिए, सेव किया गया एक मैसेज दिखता है. इसका मतलब है कि Chat ऐप्लिकेशन जांच के लिए तैयार है.

Chat ऐप्लिकेशन को टेस्ट करें

प्रोजेक्ट मैनेजमेंट के Chat ऐप्लिकेशन को मैसेज भेजकर और स्लैश कमांड की मदद से, उपयोगकर्ताओं की स्टोरी बनाएं, उनमें बदलाव करें, और उन्हें मिटाएं. इससे, यह टेस्ट किया जा सकता है.

  1. Google Chat को उस Google Workspace खाते का इस्तेमाल करके खोलें जिसे आपने भरोसेमंद टेस्टर के तौर पर जोड़ते समय दिया था.

    Google Chat पर जाएं

  2. नई चैट पर क्लिक करें.
  3. एक या इससे ज़्यादा लोगों को जोड़ें फ़ील्ड में, अपने Chat ऐप्लिकेशन का नाम लिखें.
  4. नतीजों में से अपना Chat ऐप्लिकेशन चुनें. एक डायरेक्ट मैसेज खुलेगा.

  5. ऐप्लिकेशन के साथ नए डायरेक्ट मैसेज में, Hello टाइप करें और enter दबाएं. प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन, सहायता मेन्यू के साथ जवाब देता है और बताता है कि यह क्या कर सकता है.
  6. स्टोरी बनाने के लिए, मैसेज बार में /createUserStory Test story टाइप करें और उसे भेजें. प्रोजेक्ट मैनेजमेंट Chat ऐप्लिकेशन, एक कार्ड मैसेज के साथ जवाब देता है. इसमें उपयोगकर्ता की कहानी का ब्यौरा होता है. यह आपके लिए Vertex AI के जनरेटिव एआई का इस्तेमाल करता है.
  7. कंसोल में, Firestore डेटाबेस देखें और उस रिकॉर्ड की समीक्षा करें जो आपने चैट ऐप्लिकेशन में जोड़े गए स्पेस के बारे में बनाया है. इसमें यह जानकारी भी शामिल है कि इससे किन उपयोगकर्ताओं ने इंटरैक्ट किया है, और आपकी बनाई गई उपयोगकर्ता कहानी क्या है.

    Firestore पर जाएं

  8. Google Chat पर वापस जाएं.

    Google Chat पर जाएं

  9. अगर आपको स्टोरी में बदलाव करना है, तो बदलाव करें पर क्लिक करें. हालांकि, ऐसा करना ज़रूरी नहीं है. जब आप स्टोरी से संतुष्ट हो जाएं, तो सेव करें पर क्लिक करें.
  10. ऐप्लिकेशन पर काम करने वाले हर स्लैश कमांड की जांच करें. इन्हें देखने के लिए, / टाइप करें या Chat ऐप्लिकेशन के नाम को टैग करें.
  11. /cleanupUserStories स्लैश कमांड देकर, टेस्ट उपयोगकर्ता की स्टोरी मिटाएं. इसके अलावा, ऐप्लिकेशन को हटाएं या अनइंस्टॉल करें. ऐप्लिकेशन को हटाने पर, उस स्पेस में बनाई गई सभी उपयोगकर्ता स्टोरी मिटा दी जाती हैं.

समस्या हल करें

जब Google Chat ऐप्लिकेशन या कार्ड में गड़बड़ी दिखती है, तो Chat इंटरफ़ेस पर "कुछ गड़बड़ी हुई" या "आपके अनुरोध को प्रोसेस नहीं किया जा सका" मैसेज दिखता है. कभी-कभी Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का कोई मैसेज नहीं दिखता, लेकिन Chat ऐप्लिकेशन या कार्ड से अनचाहा नतीजा मिलता है. उदाहरण के लिए, हो सकता है कि कार्ड मैसेज न दिखे.

हो सकता है कि Chat के यूज़र इंटरफ़ेस (यूआई) में गड़बड़ी का मैसेज न दिखे. हालांकि, चैट ऐप्लिकेशन में गड़बड़ी को लॉग करने की सुविधा चालू होने पर, गड़बड़ियों को ठीक करने के लिए, उनके बारे में जानकारी देने वाले मैसेज और लॉग डेटा उपलब्ध होते हैं. गड़बड़ियों को देखने, डीबग करने, और ठीक करने में मदद पाने के लिए, Google Chat की गड़बड़ियों को ठीक करना और उन्हें हल करना लेख पढ़ें.

व्यवस्थित करें

हमारा सुझाव है कि इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud खाते पर शुल्क न पड़े. इसके लिए, हमारा सुझाव है कि आप Cloud प्रोजेक्ट मिटा दें.

  1. Google Cloud Console में, संसाधनों को मैनेज करें पेज पर जाएं. मेन्यू > IAM और एडमिन > संसाधन मैनेज करें पर क्लिक करें.

    संसाधन मैनेजर पर जाएं

  2. प्रोजेक्ट की सूची में, वह प्रोजेक्ट चुनें जिसे मिटाना है. इसके बाद, मिटाएं पर क्लिक करें.
  3. डायलॉग बॉक्स में, प्रोजेक्ट आईडी टाइप करें. इसके बाद, प्रोजेक्ट मिटाने के लिए, शट डाउन करें पर क्लिक करें.