Firebase এক্সটেনশনের সাথে আপনার ওয়েব অ্যাপে দ্রুত নতুন কার্যকারিতা যোগ করুন

1. ভূমিকা

লক্ষ্য

এই কোডল্যাবে, আপনি ফায়ারবেস এক্সটেনশনের সাহায্যে একটি অনলাইন মার্কেটপ্লেস অ্যাপে কার্যকারিতা যুক্ত করবেন। এই কোডল্যাবের মাধ্যমে, আপনি বুঝতে পারবেন কিভাবে এক্সটেনশনগুলি আপনাকে অ্যাপ ডেভেলপমেন্ট এবং পরিচালনার কাজে কম সময় ব্যয় করতে সাহায্য করতে পারে।

3b6977f679c67db.png সম্পর্কে

তুমি কী তৈরি করবে

এই কোডল্যাবে, আপনি একটি অনলাইন মার্কেটপ্লেস ওয়েব অ্যাপে নিম্নলিখিত বৈশিষ্ট্যগুলি যুক্ত করবেন:

  • ব্যবহারকারীর ধারণ ক্ষমতা বাড়াতে ছবিগুলি দ্রুত লোড করুন
  • কর্মক্ষমতা উন্নত করতে এবং আপনার বিল কমাতে আপনার ডাটাবেসে এন্ট্রি সীমিত করুন।
  • ব্যবহারকারীর ডেটা সুরক্ষা বাড়ানোর জন্য পুরানো ব্যবহারকারীর ডেটা স্বয়ংক্রিয়ভাবে মুছে ফেলার বাস্তবায়ন করুন।

তুমি কি শিখবে

  • সাধারণ ব্যবহারের ক্ষেত্রে এক্সটেনশনগুলি কীভাবে আবিষ্কার করবেন
  • আপনার প্রকল্পে একটি এক্সটেনশন কীভাবে ইনস্টল এবং কনফিগার করবেন
  • আপনার প্রকল্পে এক্সটেনশনগুলি কীভাবে রক্ষণাবেক্ষণ (মনিটর, আপডেট এবং আনইনস্টল) করবেন

এই কোডল্যাবটি ফায়ারবেস এক্সটেনশনের উপর দৃষ্টি নিবদ্ধ করে। এই কোডল্যাবে উল্লিখিত অন্যান্য ফায়ারবেস পণ্য সম্পর্কে বিস্তারিত তথ্যের জন্য, ফায়ারবেস ডকুমেন্টেশন এবং অন্যান্য কোডল্যাবগুলি দেখুন।

তোমার যা লাগবে

  • একটি আধুনিক ওয়েব ব্রাউজার ইনস্টল করা কম্পিউটার (ক্রোম সুপারিশ করা হয়)
  • একটি গুগল অ্যাকাউন্ট

২. একটি ফায়ারবেস প্রকল্প তৈরি এবং সেট আপ করুন

একটি ফায়ারবেস প্রকল্প তৈরি করুন

  1. আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেস কনসোলে সাইন ইন করুন।
  2. একটি নতুন প্রকল্প তৈরি করতে বোতামটি ক্লিক করুন, এবং তারপর একটি প্রকল্পের নাম লিখুন (উদাহরণস্বরূপ, FriendlyMarket )।
  3. চালিয়ে যান ক্লিক করুন।
  4. যদি অনুরোধ করা হয়, তাহলে Firebase শর্তাবলী পর্যালোচনা করুন এবং গ্রহণ করুন, এবং তারপর Continue এ ক্লিক করুন।
  5. (ঐচ্ছিক) Firebase কনসোলে ("Gemini in Firebase" নামে পরিচিত) AI সহায়তা সক্ষম করুন।
  6. এই কোডল্যাবের জন্য, আপনার গুগল অ্যানালিটিক্সের প্রয়োজন নেই , তাই গুগল অ্যানালিটিক্স বিকল্পটি টগল করে বন্ধ করে দিন
  7. Create project এ ক্লিক করুন, আপনার province করার জন্য অপেক্ষা করুন, এবং তারপর Continue এ ক্লিক করুন।

আপনি যে অ্যাপ্লিকেশনটি তৈরি করবেন তাতে ওয়েব অ্যাপের জন্য উপলব্ধ কয়েকটি Firebase পণ্য ব্যবহার করা হবে:

  • আপনার ব্যবহারকারীদের সহজেই শনাক্ত করার জন্য Firebase প্রমাণীকরণ
  • ফায়ারবেস রিয়েলটাইম ডাটাবেস ক্লাউডে স্ট্রাকচার্ড ডেটা সংরক্ষণ করে এবং ডেটা আপডেট হলে তাৎক্ষণিক বিজ্ঞপ্তি পায়
  • ক্লাউডে ছবি সংরক্ষণের জন্য Firebase-এর জন্য ক্লাউড স্টোরেজ

আপনি এখন Firebase কনসোল ব্যবহার করে সেই Firebase পণ্যগুলি সক্ষম এবং কনফিগার করতে পারবেন।

আপনার Firebase মূল্য পরিকল্পনা আপগ্রেড করুন

Firebase এক্সটেনশন এবং তাদের অন্তর্নিহিত ক্লাউড পরিষেবাগুলির পাশাপাশি Firebase-এর জন্য ক্লাউড স্টোরেজ ব্যবহার করার জন্য, আপনার Firebase প্রকল্পটি pay-as-you go (Blaze) মূল্য পরিকল্পনায় থাকা প্রয়োজন, যার অর্থ এটি একটি Cloud Billing অ্যাকাউন্টের সাথে লিঙ্ক করা আছে।

আপনার প্রকল্পটিকে ব্লেজ প্ল্যানে আপগ্রেড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Firebase কনসোলে, আপনার প্ল্যান আপগ্রেড করতে নির্বাচন করুন।
  2. ব্লেজ প্ল্যানটি নির্বাচন করুন। আপনার প্রকল্পের সাথে একটি ক্লাউড বিলিং অ্যাকাউন্ট লিঙ্ক করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
    এই আপগ্রেডের অংশ হিসেবে যদি আপনার একটি ক্লাউড বিলিং অ্যাকাউন্ট তৈরি করার প্রয়োজন হয়, তাহলে আপগ্রেড সম্পূর্ণ করার জন্য আপনাকে Firebase কনসোলে আপগ্রেড ফ্লোতে ফিরে যেতে হতে পারে।

ইমেল লগইন সক্ষম করুন

যদিও এই কোডল্যাবের মূল বিষয়বস্তু প্রমাণীকরণ নয়, তবুও আপনার অ্যাপে কিছু ধরণের প্রমাণীকরণ থাকা গুরুত্বপূর্ণ, যাতে এটি ব্যবহারকারী সকলকে স্বতন্ত্রভাবে শনাক্ত করা যায়। আপনি ইমেল লগইন ব্যবহার করবেন।

  1. Firebase কনসোলে, বাম প্যানেলে Develop এ ক্লিক করুন।
  2. Authentication এ ক্লিক করুন, এবং তারপর Sign-in method ট্যাবে ক্লিক করুন (অথবা সরাসরি Sign-in method ট্যাবে যেতে এখানে ক্লিক করুন )।
  3. সাইন-ইন প্রোভাইডার তালিকায় ইমেল/পাসওয়ার্ড ক্লিক করুন, Enable সুইচটিকে on পজিশনে সেট করুন এবং তারপর Save এ ক্লিক করুন।

ed0f449a872f7287.png সম্পর্কে

রিয়েলটাইম ডাটাবেস সক্ষম করুন

অ্যাপটি বিক্রয়ের জন্য আইটেম সংরক্ষণ করতে ফায়ারবেস রিয়েলটাইম ডাটাবেস ব্যবহার করে।

  1. Firebase কনসোলের বাম প্যানেলে, Build প্রসারিত করুন এবং তারপর Realtime Database নির্বাচন করুন।
  2. ডাটাবেস তৈরি করুন ক্লিক করুন।
  3. আপনার ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন, তারপর পরবর্তী ক্লিক করুন।
    একটি আসল অ্যাপের জন্য, আপনাকে এমন একটি অবস্থান বেছে নিতে হবে যা আপনার ব্যবহারকারীদের কাছাকাছি।
  4. পরীক্ষা মোডে শুরু করুন ক্লিক করুন। নিরাপত্তা নিয়ম সম্পর্কে দাবিত্যাগ পড়ুন।
    এই কোডল্যাবের পরবর্তী ধাপে, আপনার ডেটা সুরক্ষিত করার জন্য আপনি নিরাপত্তা নিয়ম যোগ করবেন। আপনার ডাটাবেসের জন্য নিরাপত্তা নিয়ম যোগ না করে কোনও অ্যাপ সর্বজনীনভাবে বিতরণ বা প্রকাশ করবেন না
  5. তৈরি করুন ক্লিক করুন।

আপনার ডাটাবেসের জন্য নিরাপত্তা নিয়ম সেট করুন

এখন, আপনি এই অ্যাপের জন্য প্রয়োজনীয় নিরাপত্তা নিয়মগুলি সেট করবেন। আপনার অ্যাপটি সুরক্ষিত করার জন্য এখানে কিছু মৌলিক উদাহরণ নিয়ম রয়েছে। এই নিয়মগুলি যে কাউকে বিক্রয়ের জন্য আইটেমগুলি দেখার অনুমতি দেয়, তবে এই নিয়মগুলি কেবল সাইন ইন করা ব্যবহারকারীদের অন্যান্য পঠন এবং লেখার অনুমতি দেয়। এই নিয়মগুলির সুনির্দিষ্টতা সম্পর্কে চিন্তা করবেন না; আপনার অ্যাপটি চালু করার জন্য আপনাকে কেবল সেগুলি কপি এবং পেস্ট করতে হবে।

  1. রিয়েলটাইম ডেটাবেস ড্যাশবোর্ডের উপরে, নিয়ম ট্যাবে ক্লিক করুন।

e233a24a38b37e95.png সম্পর্কে

  1. নিয়ম ট্যাবের নিয়ম ক্ষেত্রে নিম্নলিখিত নিয়ম সেটটি কপি করে পেস্ট করুন:
    {
      "rules": {
        ".read": false,
        ".write": false,
          "drafts": {
            ".indexOn": "seller",
            ".read": "auth.uid !== null",
            ".write": "auth.uid !== null"
        },
        "sellers": {
            ".read": "auth.uid !== null",
            ".write": "auth.uid !== null"
        },
          "forsale": {
            ".read": true,
            ".write": "auth.uid !== null"
          }
      }
    }
    
  2. প্রকাশ করুন-এ ক্লিক করুন।

Firebase এর জন্য ক্লাউড স্টোরেজ সেট আপ করুন

অ্যাপটি বিক্রয়ের জন্য থাকা আইটেমগুলির ছবি সংরক্ষণ করতে Firebase-এর জন্য ক্লাউড স্টোরেজ ব্যবহার করে।

আপনার Firebase প্রকল্পে Firebase এর জন্য ক্লাউড স্টোরেজ কীভাবে সেট আপ করবেন তা এখানে দেওয়া হল:

  1. Firebase কনসোলের বাম প্যানেলে, Build প্রসারিত করুন এবং তারপর Storage নির্বাচন করুন।
  2. শুরু করুন ক্লিক করুন।
  3. আপনার ডিফল্ট স্টোরেজ বাকেটের জন্য একটি অবস্থান নির্বাচন করুন।
    US-WEST1 , US-CENTRAL1 , এবং US-EAST1 এর বাকেটগুলি Google ক্লাউড স্টোরেজের জন্য "সর্বদা বিনামূল্যে" স্তরের সুবিধা নিতে পারে। অন্যান্য সমস্ত অবস্থানের বাকেটগুলি Google ক্লাউড স্টোরেজের মূল্য এবং ব্যবহার অনুসরণ করে।
  4. পরীক্ষা মোডে শুরু করুন ক্লিক করুন। নিরাপত্তা নিয়ম সম্পর্কে দাবিত্যাগ পড়ুন।
    এই কোডল্যাবের পরবর্তী ধাপে, আপনার ডেটা সুরক্ষিত করার জন্য আপনি নিরাপত্তা নিয়ম যোগ করবেন। আপনার স্টোরেজ বাকেটের জন্য নিরাপত্তা নিয়ম যোগ না করে কোনও অ্যাপ সর্বজনীনভাবে বিতরণ বা প্রকাশ করবেন না
  5. তৈরি করুন ক্লিক করুন।

আপনার স্টোরেজ বাকেটের জন্য নিরাপত্তা নিয়ম সেট আপ করুন

এখন, আপনি এই অ্যাপের জন্য প্রয়োজনীয় নিরাপত্তা নিয়মগুলি সেট করবেন। এই নিয়মগুলি শুধুমাত্র অনুমোদিত ব্যবহারকারীদের নতুন ছবি পোস্ট করার অনুমতি দেয়, তবে তারা যে কাউকে তালিকাভুক্ত আইটেমের জন্য ছবিটি দেখার অনুমতি দেয়।

  1. স্টোরেজ ড্যাশবোর্ডের উপরে, নিয়ম ট্যাবে ক্লিক করুন।

e7003646b429500b.png

  1. নিয়ম ট্যাবের নিয়ম ক্ষেত্রে নিম্নলিখিত নিয়ম সেটটি কপি করে পেস্ট করুন:
    rules_version = '2';
    service firebase.storage {
      match /b/{bucket}/o {
        match /friendlymarket/{ImageId} {
          allow read;
          allow write: if request.auth != null;
        }
      }
    }
    
  2. প্রকাশ করুন-এ ক্লিক করুন।

৩. নমুনা অ্যাপটি চালান

স্ট্যাকব্লিটজ প্রকল্পের ফর্ক করুন

এই কোডল্যাবে, আপনি StackBlitz ব্যবহার করে একটি অ্যাপ তৈরি এবং স্থাপন করতে পারেন, এটি একটি অনলাইন সম্পাদক যার মধ্যে বেশ কয়েকটি Firebase ওয়ার্কফ্লো একত্রিত থাকে। Stackblitz-এর জন্য কোনও সফ্টওয়্যার ইনস্টলেশন বা বিশেষ StackBlitz অ্যাকাউন্টের প্রয়োজন হয় না।

StackBlitz আপনাকে অন্যদের সাথে প্রকল্পগুলি ভাগ করে নিতে দেয়। যাদের কাছে আপনার StackBlitz প্রকল্পের URL আছে তারা আপনার কোড দেখতে এবং আপনার প্রকল্পটি ফোর্ক করতে পারে, কিন্তু তারা আপনার StackBlitz প্রকল্পটি সম্পাদনা করতে পারে না।

  1. শুরুর কোডের জন্য এই URL-এ যান: https://stackblitz.com/edit/friendlymarket-codelab
  2. StackBlitz পৃষ্ঠার উপরে, Fork এ ক্লিক করুন।

22c44cf92ed26208.png সম্পর্কে

এখন আপনার কাছে StackBlitz প্রোজেক্ট হিসেবে শুরুর কোডের একটি কপি আছে। যেহেতু আপনি সাইন ইন করেননি, তাই আপনার "অ্যাকাউন্ট" কে @anonymous বলা হচ্ছে, কিন্তু এটা ঠিক আছে। প্রোজেক্টটির একটি অনন্য নাম রয়েছে, সাথে একটি অনন্য URLও রয়েছে। আপনার সমস্ত ফাইল এবং পরিবর্তনগুলি এই StackBlitz প্রোজেক্টে সংরক্ষিত আছে।

প্রকল্পে একটি Firebase ওয়েব অ্যাপ যোগ করুন

  1. StackBlitz-এ, আপনার src/firebase-config.js ফাইলটি দেখুন। এখানেই আপনি Firebase কনফিগারেশন অবজেক্ট যোগ করবেন।
  2. Firebase কনসোলে ফিরে, উপরের বাম দিকে Project Overview-এ ক্লিক করে আপনার প্রোজেক্টের ওভারভিউ পৃষ্ঠায় নেভিগেট করুন।
  3. আপনার প্রকল্পের ওভারভিউ পৃষ্ঠার কেন্দ্রে, ওয়েব আইকনে ক্লিক করুন 58d6543a156e56f9.png সম্পর্কে একটি নতুন Firebase ওয়েব অ্যাপ তৈরি করতে। 88c964177c2bccea.png সম্পর্কে
  4. FriendlyMarket Codelab ডাকনাম দিয়ে অ্যাপটি নিবন্ধন করুন।
  5. এই কোডল্যাবের জন্য, "এই অ্যাপের জন্য ফায়ারবেস হোস্টিং সেট আপ করুন" এর পাশের বাক্সটি চেক করবেন না । এর পরিবর্তে আপনি StackBlitz প্রিভিউ প্যান ব্যবহার করতে যাচ্ছেন।
  6. অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।
  7. আপনার অ্যাপের Firebase কনফিগারেশন অবজেক্টটি আপনার ক্লিপবোর্ডে কপি করুন। <script> ট্যাগগুলি কপি করবেন না। দ্রষ্টব্য: যদি আপনার পরে কনফিগারেশনটি খুঁজে বের করার প্রয়োজন হয়, তাহলে এখানে নির্দেশাবলী অনুসরণ করুন।

6c0519e8f48a3a6f.png সম্পর্কে

  1. কনসোল করতে Continue এ ক্লিক করুন।

আপনার অ্যাপে আপনার প্রোজেক্টের কনফিগারেশন যোগ করুন:

  1. StackBlitz-এ ফিরে, src/firebase-config.js ফাইলে যান।
  2. ফাইলটিতে আপনার কনফিগারেশন স্নিপেটটি পেস্ট করুন। এটি করার পরে, এটি দেখতে এইরকম হওয়া উচিত (তবে কনফিগারেশন অবজেক্টে আপনার নিজস্ব প্রকল্পের মান সহ):

177602cbe84f873d.png সম্পর্কে

এই অ্যাপটির শুরুর বিন্দু কী?

স্ট্যাকব্লিটজ স্ক্রিনের ডানদিকে ইন্টারেক্টিভ প্রিভিউটি একবার দেখুন:

f3ec800f27fa49b7.png সম্পর্কে

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

অ্যাপটি ব্যবহার করে দেখুন:

  1. হোম স্ক্রিনের উপরের বোতামটি দিয়ে সাইন ইন করুন। আপনি একটি জাল ইমেল ঠিকানা, নাম এবং পাসওয়ার্ড ব্যবহার করতে পারেন।
  2. একটি তালিকা তৈরি করতে নীচের ডানদিকে কোণায় "কিছু বিক্রি করুন" বোতামে ক্লিক করুন।
  3. শিরোনামের জন্য, Xylophone লিখুন
  4. মূল্য জিজ্ঞাসার জন্য, 50 লিখুন
  5. আইটেমের বিবরণের জন্য, নিম্নলিখিতটি লিখুন: This high quality xylophone can be used to play music.
  6. আপনার কম্পিউটারে একটি জাইলোফোনের এই ছবিটি ডাউনলোড করুন এবং "আপনার আইটেমের ছবি" বোতামটি দিয়ে এটি আপলোড করুন।

  1. সমস্ত ক্ষেত্র পূরণ করে একটি ছবি আপলোড করার পরে, পোস্ট করুন এ ক্লিক করুন।
  2. আপনার নতুন তালিকাটি খুঁজুন। আপনার আইটেমের বিবরণ স্ক্রিন দেখতে ক্লিক করুন, এবং তারপর বিক্রেতার যোগাযোগের তথ্য প্যানেলটি প্রসারিত করুন।
  3. Firebase কনসোলে ফিরে যান। ডাটাবেস ড্যাশবোর্ডে, আপনি এখন forsale নোডের অধীনে আপনার পোস্ট করা আইটেমের জন্য একটি এন্ট্রি দেখতে পাবেন। স্টোরেজ ড্যাশবোর্ডে, আপনি friendlymarket পাথে আপনার আপলোড করা ছবিটিও পাবেন।

৪. একটি এক্সটেনশন খুঁজুন এবং ইনস্টল করুন

সমস্যাটি

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

কৌতূহলবশত, আপনি মোবাইল সংযোগের গতি দিয়ে আপনার সাইটটি পরীক্ষা করছেন। ( এখানে কীভাবে এটি করবেন তা শিখুন।) আপনি দেখতে পাবেন যে ছবিগুলি লোড হতে অনেক বেশি সময় নেয় এবং ব্রাউজারে মোটেও ক্যাশে করা হয় না। প্রতিটি পৃষ্ঠা দেখার জন্য সেই দীর্ঘ লোড সময় ব্যয় হয়!

সমাধান

ছবিগুলি কীভাবে অপ্টিমাইজ করবেন তা পড়ার পর, আপনি ছবি লোডিং কর্মক্ষমতা উন্নত করার জন্য দুটি পদক্ষেপ নেওয়ার সিদ্ধান্ত নেন:

  • ছবি সংকুচিত করুন। এমনকি মোবাইল ফোনগুলিও এই অ্যাপের প্রয়োজনীয়তার তুলনায় অনেক বেশি রেজোলিউশনের ছবি তোলে। ফাইলের আকার কমিয়ে দিলে অ্যাপের রেজোলিউশন উল্লেখযোগ্যভাবে কমে না যায়, ফলে লোডের সময় দ্রুত বাড়বে।
  • ক্যাশিং । ডিফল্টরূপে, ক্লাউড স্টোরেজ অবজেক্টের হেডার থাকে যা ব্রাউজারকে ছবি ক্যাশ না করতে বলে, যার অর্থ হল ব্যবহারকারীর ব্রাউজার একই ছবি বারবার ডাউনলোড করবে! ভাগ্যক্রমে, আপনি ক্যাশিং করার জন্য এই হেডারগুলি পরিবর্তন করতে পারেন। ক্লায়েন্ট-সাইড ক্লাউড স্টোরেজ SDK এবং Firebase Admin SDK উভয়ই আপনাকে এই হেডারগুলি সেট করার অনুমতি দেয়।

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

  • ক্লায়েন্ট-সাইড । ক্লায়েন্ট-সাইড প্রক্রিয়ার জন্য, আপনি কেবল আপলোড করা ছবির জন্য ফাইলের আকার সীমিত করতে পারেন। এর অর্থ হল আপনাকে কোনও নতুন সার্ভার লজিক লিখতে বা বজায় রাখতে হবে না। তবে, এর অর্থ হল আপনার বিক্রেতাদের তাদের নিজস্ব ছবির আকার কীভাবে পরিবর্তন করবেন তা খুঁজে বের করতে হবে, যা একটি নতুন তালিকা তৈরির ক্ষেত্রে একটি বেদনাদায়ক এবং অজ্ঞাত বাধা।
  • সার্ভার-সাইড । যদি আপনি Firebase-এর জন্য Cloud Functions ব্যবহার করেন, তাহলে আপনি এমন একটি ফাংশন চালু করতে পারেন যা আপলোডের সময় স্বয়ংক্রিয়ভাবে একটি ছবির আকার পরিবর্তন করে। এর মানে হল বিক্রেতারা তাদের পছন্দের যেকোনো আকারের ছবি আপলোড করতে পারবেন (তাদের জন্য কোনও অতিরিক্ত কাজ নেই), এবং আপনার ব্যাকএন্ড ফাংশনটি নির্বিঘ্নে ছবিটির আকার পরিবর্তন করতে পারে। এই ফাংশনের জন্য একটি নমুনাও উপলব্ধ!

মনে হচ্ছে সার্ভার-সাইডই সঠিক পথ। কিন্তু এই ধারণার মধ্যে এখনও নমুনা ক্লোন করা, এর সেটআপ নির্দেশাবলী অনুসরণ করা এবং তারপর Firebase CLI ব্যবহার করে ফাংশনটি স্থাপন করা জড়িত। ছবির আকার পরিবর্তন করা একটি সাধারণ ব্যবহারের মতো শোনাচ্ছে। এর কি সহজ সমাধান নেই?

একটি সহজ সমাধান

তোমার ভাগ্য ভালো। এর থেকে সহজ সমাধান আছে: ফায়ারবেস এক্সটেনশন! আসুন ফায়ারবেস ওয়েবসাইটে উপলব্ধ এক্সটেনশনের ক্যাটালগটি পরীক্ষা করে দেখি।

e6bc3874cf23f34f.png

ওটা দেখো! "রাইজাইজ ইমেজ" নামে একটা এক্সটেনশন আছে। এটা আশাব্যঞ্জক দেখাচ্ছে।

আপনার অ্যাপে এই এক্সটেনশনটি ব্যবহার করা যাক!

একটি এক্সটেনশন ইনস্টল করুন

  1. এই এক্সটেনশন সম্পর্কে আরও তথ্য দেখতে "বিস্তারিত দেখুন" এ ক্লিক করুন। "আপনি কী কনফিগার করতে পারেন" এর অধীনে, এক্সটেনশনটি আপনাকে যে মাত্রাগুলিতে আকার পরিবর্তন করতে চান তা সেট করতে দেয় এবং আপনি ক্যাশে হেডারও সেট করতে পারেন। নিখুঁত!
  2. এক্সটেনশনের বিস্তারিত পৃষ্ঠায় " ইনস্টল ইন কনসোল" বোতামে ক্লিক করুন। আপনাকে একটি Firebase কনসোল পৃষ্ঠায় নিয়ে যাওয়া হবে যেখানে আপনার সমস্ত প্রকল্পের তালিকা থাকবে।
  3. এই কোডল্যাবের জন্য আপনার তৈরি করা FriendlyMarket প্রকল্পটি বেছে নিন।
  4. "কনফিগার এক্সটেনশন" ধাপে পৌঁছানো পর্যন্ত স্ক্রিনে প্রদর্শিত নির্দেশাবলী অনুসরণ করুন। নির্দেশাবলীতে এক্সটেনশনের একটি মৌলিক সারাংশ, সেইসাথে এটি তৈরি করবে এমন কোনও সংস্থান এবং এর প্রয়োজনীয় ভূমিকা অ্যাক্সেস করা হবে।
  5. ** Cache-Control **আকার পরিবর্তন করা ছবির জন্য হেডার ফিল্ডে, নিম্নলিখিতটি লিখুন:

public, max-age=31536000

  1. অন্যান্য প্যারামিটারগুলিকে তাদের ডিফল্ট মানগুলিতে ছেড়ে দিন।
  2. এক্সটেনশন ইনস্টল করুন এ ক্লিক করুন।

ইনস্টলেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করার সময়...

Firebase কমান্ড-লাইন ইন্টারফেস দিয়ে ইনস্টল করা হচ্ছে

যদি আপনি কমান্ড-লাইন টুল ব্যবহার করতে বেশি স্বাচ্ছন্দ্য বোধ করেন, তাহলে Firebase CLI ব্যবহার করেও এক্সটেনশন ইনস্টল এবং পরিচালনা করা যেতে পারে! CLI-এর সর্বশেষ সংস্করণে উপলব্ধ firebase ext কমান্ডটি ব্যবহার করুন। আরও তথ্য এখানে পাওয়া যাবে।

(ঐচ্ছিক) ক্যাশে-কন্ট্রোল হেডার সম্পর্কে আরও জানুন

Cache-Control হেডারের মান public, max-age=31536000 এর অর্থ হল ছবিটি 1 বছর পর্যন্ত ক্যাশে থাকবে। Cache-Control হেডার সম্পর্কে আরও জানতে, এই ডকুমেন্টেশনটি দেখুন।

ক্লায়েন্ট কোড আপডেট করুন

আপনার ইনস্টল করা এক্সটেনশনটি মূল ছবির মতো একই বাকেটে একটি আকার পরিবর্তন করা ছবি লেখে। আকার পরিবর্তন করা ছবির ফাইলের নামের সাথে কনফিগার করা মাত্রা যুক্ত করা থাকে। সুতরাং, যদি মূল ফাইলের পাথটি friendlymarket/user1234-car.png এর মতো দেখায়, তাহলে আকার পরিবর্তন করা ছবির ফাইল পাথটি friendlymarket/user1234-car_200x200.png এর মতো দেখাবে।

অ্যাপটি আপডেট করা যাক যাতে এটি পূর্ণ আকারের ছবির পরিবর্তে আকার পরিবর্তন করা ছবিগুলি নিয়ে আসে।

  1. StackBlitz-এ, src/firebase-refs.js ফাইলটি খুলুন।
  2. পুনরায় আকার দেওয়া ছবির জন্য একটি রেফারেন্স তৈরি করতে বিদ্যমান getImageRef ফাংশনটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
export function getImageRef(storage, imagePath) {
  const xDimension = 200;
  const yDimension = 200;

  // find the '.' in 'file.jpg', 'file.png', etc
  const fileExtensionIndex = imagePath.lastIndexOf('.');

  const pathNameWithoutExtension = imagePath.substring(0, fileExtensionIndex);
  const dimensions = `${xDimension}x${yDimension}`;
  const fileExtension = imagePath.substring(fileExtensionIndex);

  return {
    resized: storage().ref(
      `${pathNameWithoutExtension}_${dimensions}${fileExtension}`
    ),
    original: storage().ref(imagePath)
  };
}

এটি পরীক্ষা করে দেখুন

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

এক্সটেনশনটি কার্যকর দেখতে একটি নতুন পোস্ট তৈরি করুন:

  1. হোম স্ক্রিনে যেতে আপনার অ্যাপের উপরের বারে Friendly Market- এ ক্লিক করুন।
  2. একটি তালিকা তৈরি করতে অ্যাপের নীচের ডানদিকে কোণায় "কিছু বিক্রি করুন" বোতামে ক্লিক করুন।
  3. শিরোনামের জন্য, Coffee লিখুন
  4. দাম জিজ্ঞাসা করার জন্য, 1 লিখুন
  5. আইটেমের বিবরণের জন্য, নিম্নলিখিতটি লিখুন: Selling one cafe latte. It has foam art in the shape of a bear
  6. এক কাপ কফির এই ছবিটি আপনার কম্পিউটারে ডাউনলোড করুন এবং আপনার আইটেমের ছবি বোতামটি ব্যবহার করে এটি আপলোড করুন।
  7. সমস্ত ক্ষেত্র পূরণ করে একটি ছবি আপলোড করার পরে, পোস্ট করুন এ ক্লিক করুন। আপনি জাইলোফোনের নীচে কফির তালিকা দেখতে পাবেন!
  8. Firebase কনসোলের Functions ড্যাশবোর্ডে, Logs ট্যাবে ক্লিক করুন। আপনি ফাংশনটির লগগুলি দেখতে পাবেন যা দেখায় যে এটি কার্যকর হয়েছে।

486d1226be84bb44.png সম্পর্কে

  1. friendlymarket পাথে আসল কফির ছবি এবং আকার পরিবর্তন করা সংস্করণ উভয়ই দেখতে স্টোরেজ ড্যাশবোর্ডে যান।
  2. StackBlitz প্রিভিউ প্যানে, আপনার অ্যাপের হোম স্ক্রিনটি কয়েকবার রিলোড করুন। আপনি লক্ষ্য করবেন যে কফির ছবি জাইলোফোন ছবির তুলনায় উল্লেখযোগ্যভাবে দ্রুত লোড হচ্ছে।

প্রথম পৃষ্ঠা লোডের সময় ছবিটি দ্রুত লোড হয় কারণ এটি ছোট, এবং পরবর্তী পৃষ্ঠা রিফ্রেশ করলে এটি নেটওয়ার্ক অনুরোধ ট্রিগার করার পরিবর্তে ব্রাউজার ক্যাশে থেকে লোড হয়।

৫. একটি এক্সটেনশন পুনরায় কনফিগার করুন

সমস্যাটি

আপনার অ্যাপটি বিক্রেতার তালিকার খসড়া সংস্করণগুলি স্বয়ংক্রিয়ভাবে সংরক্ষণ করে। আপনার ব্যবহারকারীরা এই বৈশিষ্ট্যটি পছন্দ করেন, কিন্তু আপনার পরিসংখ্যান কিছুটা উদ্বেগজনক। আপনার প্রতিবেদনগুলি বলে যে মাত্র 10% খসড়া আসলে পোস্ট করা হয়, এবং বাকি 90% আপনার ডাটাবেসে কেবল জায়গা দখল করে।

সমাধান

খামের পিছনে কিছু গণনা করার পরে, আপনি বুঝতে পারবেন যে আপনাকে যেকোনো সময়ে মাত্র পাঁচটি খসড়া সংরক্ষণ করতে হবে।

ফায়ারবেস এক্সটেনশনের সেই ক্যাটালগটি মনে আছে? হয়তো এই পরিস্থিতির জন্য ইতিমধ্যেই একটি সমাধান তৈরি করা আছে। সংরক্ষিত ড্রাফ্টের সংখ্যা স্বয়ংক্রিয়ভাবে পাঁচ বা তার কম রাখার জন্য লিমিট চাইল্ড নোডস এক্সটেনশনটি ইনস্টল করা যাক। নতুন ড্রাফ্ট যোগ করা হলে এক্সটেনশনটি সবচেয়ে পুরনো ড্রাফ্টটি মুছে ফেলবে।

  1. এক্সটেনশনের বিশদ পৃষ্ঠায় ইনস্টল বোতামে ক্লিক করুন।
  2. আপনার মার্কেটপ্লেস ওয়েব অ্যাপের জন্য যে Firebase প্রজেক্টটি ব্যবহার করছেন তা বেছে নিন।
  3. কনফিগার এক্সটেনশন ধাপে না পৌঁছানো পর্যন্ত অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
  4. রিয়েলটাইম ডাটাবেস পাথের জন্য, drafts লিখুন। এটি ডাটাবেসের সেই পাথ যেখানে ড্রাফ্টগুলি সংরক্ষণ করা হয়।
  5. সর্বাধিক নোডের সংখ্যা রাখার জন্য, 5 লিখুন। এর অর্থ হল প্রতিটি আইটেমের তালিকার জন্য পাঁচটি খসড়া সংরক্ষণ করা হবে এবং যদি আরেকটি যোগ করা হয়, তবে সবচেয়ে পুরনো খসড়াটি স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে।
  6. এক্সটেনশন ইনস্টল করুন এ ক্লিক করুন।

ইনস্টলেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করার সময়...

এক্সটেনশন পর্যবেক্ষণ করা হচ্ছে

যখন আপনি একটি এক্সটেনশন ইনস্টল করেন, তখন প্রক্রিয়াটি বেশ কয়েকটি ফাংশন তৈরি করে। আপনি এই ফাংশনগুলি কত ঘন ঘন চলছে তা পরীক্ষা করতে পারেন অথবা লগ এবং ত্রুটির হার দেখতে পারেন। আপনার এক্সটেনশনটি কীভাবে পর্যবেক্ষণ করবেন সে সম্পর্কে বিস্তারিত তথ্যের জন্য, ইনস্টল করা এক্সটেনশনগুলি পরিচালনা করুন দেখুন। পূর্ববর্তী ধাপে Resize Images এক্সটেনশন দ্বারা তৈরি ফাংশনগুলি দেখতে ডকুমেন্টেশনের নির্দেশাবলী অনুসরণ করুন।

এক্সটেনশন আনইনস্টল করা হচ্ছে

আপনার প্রকল্প থেকে একটি এক্সটেনশন অপসারণ করতে, আপনি একটি এক্সটেনশন তৈরি করে এমন পৃথক ফাংশনগুলি মুছে ফেলতে প্রলুব্ধ হতে পারেন, তবে এটি অপ্রত্যাশিত আচরণের দিকে পরিচালিত করতে পারে, কারণ একটি এক্সটেনশন একাধিক ফাংশন তৈরি করতে পারে। ডকুমেন্টেশনে একটি এক্সটেনশন কীভাবে আনইনস্টল করবেন তা শিখুন।

আনইনস্টল করলে সমস্ত রিসোর্স (যেমন এক্সটেনশনের ফাংশন) এবং এক্সটেনশনের সেই ইনস্ট্যান্সের জন্য তৈরি করা পরিষেবা অ্যাকাউন্ট মুছে যাবে। তবে, এক্সটেনশন দ্বারা তৈরি যেকোনো আর্টিফ্যাক্ট (যেমন আকার পরিবর্তন করা ছবি) এক্সটেনশন আনইনস্টল করার পরেও আপনার প্রোজেক্টে থেকে যাবে।

একটি একক প্রকল্পে একটি এক্সটেনশনের একাধিক কপি ইনস্টল করা

আপনি কোনও প্রকল্পে প্রদত্ত এক্সটেনশনের একটি মাত্র ইন্সট্যান্স ইনস্টল করার মধ্যেই সীমাবদ্ধ নন। আপনি যদি অন্য কোনও পথে এন্ট্রি সীমাবদ্ধ করতে চান, তাহলে আপনি এই এক্সটেনশনের আরেকটি ইন্সট্যান্স ইনস্টল করতে পারেন। তবে, এই কোডল্যাবের উদ্দেশ্যে, আপনি এক্সটেনশনটি কেবল একবারই ইনস্টল করবেন।

এটিকে কাজে দেখুন

  1. নিশ্চিত করুন যে আপনি যে অ্যাকাউন্টটি ব্যবহার করে জাইলোফোন বা ল্যাটে পোস্ট করেছেন সেই অ্যাকাউন্ট দিয়ে লগ ইন করেছেন।
  2. কিছু খসড়া তৈরি করুন:
  3. অ্যাপের নীচের ডান কোণে "কিছু বিক্রি করুন" বোতামে ক্লিক করুন।
  4. শিরোনামটি সম্পাদনা করে "খসড়া ১" লিখুন।
  5. "খসড়া" বিভাগে স্ক্রোল করুন এবং খসড়ার সংখ্যা দেখুন। কমপক্ষে দুটি হওয়া উচিত।
  6. উপরের অ্যাপ বারে "FRIENDLY MARKET" বোতামে ক্লিক করুন। এইভাবে, আপনার একটি সংরক্ষিত খসড়া থাকবে কিন্তু এটি পোস্ট করার প্রয়োজন হবে না।
  7. "খসড়া ২", "খসড়া ৩", এবং এভাবে "খসড়া ৬" এর জন্য পুনরাবৃত্তি করুন।
  8. যখন আপনি "ড্রাফ্ট 6" তৈরি করবেন, তখন লক্ষ্য করুন যে "ড্রাফ্ট 1 আপনার ড্রাফ্ট বিভাগ থেকে অদৃশ্য হয়ে গেছে।"
  9. রিসাইজ ইমেজ এক্সটেনশনের মতো, আপনি ফাংশন লগগুলি পরীক্ষা করে দেখতে পারেন কোন ফাংশনগুলি ট্রিগার হয়েছে।

ওহো, ড্রাফ্ট রাখার সীমা খুবই ছোট।

আপনার গ্রাহক সহায়তা দল আপনার সাথে যোগাযোগ করে এবং আপনাকে জানায় যে আপনার কিছু সর্বাধিক জনপ্রিয় বিক্রেতা অভিযোগ করছেন যে তাদের খসড়াগুলি পোস্ট করার আগেই মুছে ফেলা হচ্ছে। আপনি আপনার সতীর্থের সাথে আপনার হিসাব পরীক্ষা করেন এবং আপনি বুঝতে পারেন যে আপনার হিসাবটি 10,000 গুণেরও বেশি ভুল ছিল!

এটা কিভাবে ঠিক করবেন? ইনস্টল করা এক্সটেনশনটি পুনরায় কনফিগার করা যাক!

  1. Firebase কনসোলের বাম দিকের ফলকে, Extensions এ ক্লিক করুন।
  2. ইনস্টল করা এক্সটেনশনের কার্ডে, Manage এ ক্লিক করুন।
  3. উপরের ডানদিকের কোণায়, Reconfigure extension এ ক্লিক করুন।
  4. নোডের সর্বোচ্চ সংখ্যা 50000 এ পরিবর্তন করুন।
  5. সংরক্ষণ করুন ক্লিক করুন।

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

৬. ব্যবহারকারীর ডেটা স্বয়ংক্রিয়ভাবে মুছে ফেলুন

সমস্যাটি

আপনার গ্রাহক সহায়তা দল আবার আপনার সাথে যোগাযোগ করেছে। যে বিক্রেতারা তাদের অ্যাকাউন্ট মুছে ফেলেছেন তারা এখনও অন্যান্য ব্যবহারকারীদের কাছ থেকে ইমেল পাচ্ছেন এবং তারা রেগে আছেন! এই বিক্রেতারা আশা করেছিলেন যে তাদের অ্যাকাউন্ট মুছে ফেলার পরে তাদের ইমেল ঠিকানাগুলি আপনার সিস্টেম থেকে মুছে ফেলা হবে।

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

সমাধান

আপনি Delete User Data এক্সটেনশনটি কনফিগার করবেন যাতে কোনও ব্যবহারকারী তাদের অ্যাকাউন্ট মুছে ফেললে ডাটাবেসে থাকা users/uid নোড স্বয়ংক্রিয়ভাবে মুছে যায়।

  1. এক্সটেনশনের বিশদ পৃষ্ঠায় ইনস্টল বোতামে ক্লিক করুন।
  2. আপনার মার্কেটপ্লেস ওয়েব অ্যাপের জন্য যে Firebase প্রজেক্টটি ব্যবহার করছেন তা বেছে নিন।
  3. কনফিগার এক্সটেনশন ধাপে না পৌঁছানো পর্যন্ত অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।
  4. রিয়েলটাইম ডাটাবেস পাথের জন্য, sellers/{UID} লিখুন। sellers অংশটি হল সেই নোড যার শিশুদের মধ্যে ব্যবহারকারীর ইমেল ঠিকানা থাকে এবং {UID} হল একটি ওয়াইল্ডকার্ড। এই কনফিগারেশনের মাধ্যমে, এক্সটেনশনটি জানতে পারবে যে যখন 1234 এর UID সহ ব্যবহারকারী তাদের অ্যাকাউন্ট মুছে ফেলবে, তখন এক্সটেনশনটি sellers/1234 ডাটাবেস থেকে মুছে ফেলবে।
  5. এক্সটেনশন ইনস্টল করুন এ ক্লিক করুন।

ইনস্টলেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করার সময়...

আসুন কাস্টমাইজেবিলিটি সম্পর্কে কথা বলি

এই কোডল্যাবে, আপনি দেখেছেন যে ফায়ারবেস এক্সটেনশনগুলি সাধারণ ব্যবহারের ক্ষেত্রে সমাধান করতে সাহায্য করতে পারে এবং এক্সটেনশনগুলি আপনার অ্যাপের চাহিদা অনুসারে কনফিগারযোগ্য।

তবে, এক্সটেনশনগুলি প্রতিটি সমস্যার সমাধান করতে পারে না এবং ব্যবহারকারীর ডেটা মুছে ফেলার সমস্যাটি এর একটি ভাল উদাহরণ। যদিও ব্যবহারকারীর অ্যাকাউন্ট মুছে ফেলার পরেও ইমেলগুলি প্রকাশিত হয় এমন বর্তমান অভিযোগের সমাধান করে, তবে এক্সটেনশনটি সবকিছু মুছে ফেলবে না। উদাহরণস্বরূপ, আইটেম তালিকা এখনও উপলব্ধ, এবং ক্লাউড স্টোরেজের যেকোনো ছবিও সেখানে আটকে থাকবে। ব্যবহারকারীর ডেটা মুছে ফেলার এক্সটেনশনটি আমাদের মুছে ফেলার জন্য একটি ক্লাউড স্টোরেজ পাথ কনফিগার করার অনুমতি দেয়, তবে যেহেতু ব্যবহারকারীরা বিভিন্ন নামের অনেকগুলি ফাইল আপলোড করতে পারে, তাই আপনি এই এক্সটেনশনটি স্বয়ংক্রিয়ভাবে এই শিল্পকর্মগুলি মুছে ফেলার জন্য কনফিগার করতে পারবেন না। এই জাতীয় পরিস্থিতিতে, Firebase এর জন্য Cloud Functions আরও উপযুক্ত হতে পারে যাতে আপনি আপনার অ্যাপের ডেটা মডেলের জন্য নির্দিষ্ট কোড লিখতে পারেন।

এক্সটেনশন এবং বিলিং

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

উদাহরণস্বরূপ, আপনি URL গুলি ছোট করতে পারেন, ইমেল ট্রিগার করতে পারেন , BigQuery-তে সংগ্রহ রপ্তানি করতে পারেন এবং আরও অনেক কিছু করতে পারেন! এক্সটেনশনের সম্পূর্ণ ক্যাটালগ এখানে দেখুন।

যদি আপনার এমন কোনও এক্সটেনশন থাকে যা আপনি পেতে চান, কিন্তু এখনই উপলব্ধ না হয়, তাহলে আমরা এটি সম্পর্কে জানতে আগ্রহী! একটি নতুন এক্সটেনশনের পরামর্শ দেওয়ার জন্য Firebase Support-এর সাথে একটি বৈশিষ্ট্য অনুরোধ জমা দিন।

এটিকে কাজে দেখুন

আপনার এক্সটেনশনের ইনস্টলেশন সম্পূর্ণ হওয়ার পরে, একজন ব্যবহারকারীকে মুছে ফেলুন এবং দেখুন কী হয়:

  1. ফায়ারবেস কনসোলে, আপনার রিয়েলটাইম ডেটাবেস ড্যাশবোর্ডে যান।
  2. sellers নোডটি প্রসারিত করুন।
  3. প্রতিটি বিক্রেতার তথ্য তাদের ব্যবহারকারীর UID-তে অন্তর্ভুক্ত থাকে। একজন ব্যবহারকারীর UID বেছে নিন।
  4. Firebase কনসোলে, আপনার Authentication ড্যাশবোর্ডে যান এবং সেই ব্যবহারকারীর UIDটি খুঁজুন।
  5. UID-এর ডানদিকের মেনুটি প্রসারিত করুন এবং অ্যাকাউন্ট মুছুন নির্বাচন করুন।

2e03923c9d7f1f29.png সম্পর্কে

  1. আপনার রিয়েলটাইম ডাটাবেস ড্যাশবোর্ডে ফিরে যান। বিক্রেতার তথ্য আর থাকবে না!

৭. অভিনন্দন!

যদিও আপনি এই কোডল্যাবে খুব বেশি কোড লেখেননি, তবুও আপনি আপনার মার্কেটপ্লেস অ্যাপে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি যুক্ত করেছেন।

আপনি এক্সটেনশনগুলি আবিষ্কার, কনফিগার, ইনস্টল এবং পুনরায় কনফিগার করতে শিখেছেন। এছাড়াও, আপনি ইনস্টল করা এক্সটেনশনগুলি কীভাবে পর্যবেক্ষণ করবেন এবং প্রয়োজনে কীভাবে সেগুলি আনইনস্টল করবেন তা শিখেছেন।

এরপর কী?

এই অন্যান্য এক্সটেনশনগুলির কিছু দেখুন:

আরও কাস্টম সার্ভার-সাইড কোডের প্রয়োজন?

অন্যান্য সহায়ক নথি

এক্সটেনশন পরিচালনা:

এক্সটেনশন সম্পর্কে আরও সূক্ষ্ম বিবরণ শেখা: