স্থাপত্য এবং উপাদান

ট্রিপ এবং অর্ডারের অগ্রগতি বাস্তবায়নে বেশ কিছু অন-ডিমান্ড রাইড এবং ডেলিভারি সলিউশন উপাদানগুলির সাথে কাজ করা জড়িত -- ফ্লিট ইঞ্জিন, কনজিউমার SDK এবং ড্রাইভার SDK:

  • ফ্লিট ইঞ্জিন হল অন-ডিমান্ড রাইডস এবং ডেলিভারি সলিউশন ব্যাকএন্ড পরিষেবা। এটি ভ্রমণ এবং গাড়ির অবস্থা পরিচালনার জন্য দায়ী। এটি ড্রাইভার SDK, উপভোক্তা SDK এবং আপনার ব্যাকএন্ড পরিষেবার মধ্যে লেনদেন পরিচালনা করে -- যা REST বা gRPC কল করে ফ্লিট ইঞ্জিনের সাথে যোগাযোগ করতে পারে৷

  • কনজিউমার SDK হল একটি ক্লায়েন্ট লাইব্রেরি যা আপনি আপনার ভোক্তা অ্যাপে একীভূত করেন। এটি যাত্রা ভাগ করে নেওয়ার অভিজ্ঞতা উপস্থাপনের জন্য দায়ী, যার মধ্যে ড্রাইভারের রুট ট্র্যাক করা, অবশিষ্ট দূরত্ব এবং ETA অন্তর্ভুক্ত রয়েছে। গ্রাহক SDK মোবাইল ( অ্যান্ড্রয়েড বা iOS ) বা ওয়েবের জন্য ( জাভাস্ক্রিপ্ট ) হতে পারে।

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

নিম্নলিখিত স্থাপত্য চিত্রটি এই উপাদানগুলির মধ্যে সম্পর্ক দেখায়:

স্থাপত্য

ট্রিপ, যানবাহন, এবং ওয়েপয়েন্ট

একটি ট্রিপ এবং অর্ডার অগ্রগতি অ্যাপ্লিকেশন তৈরি করা ট্রিপ, যানবাহন এবং ওয়েপয়েন্টগুলির সাথে কাজ করা জড়িত৷

ট্রিপ

একটি ট্রিপ একটি যাত্রার প্রতিনিধিত্ব করে -- যে রাইডটি ভোক্তাকে (অথবা তারা যে খাবার অর্ডার করেছে) একটি পিকআপ লোকেশন থেকে একটি ড্রপ-অফ অবস্থানে নিয়ে যায়, পথের মধ্যবর্তী ওয়েপয়েন্টগুলি সহ।

প্রোগ্রামগতভাবে, একটি Trip অবজেক্ট একটি পিকআপ অবস্থান, একটি গন্তব্য, গাড়ির বর্তমান অবস্থান, ভ্রমণের রুট, মধ্যবর্তী পথপয়েন্ট এবং ভ্রমণের ধরন ( একচেটিয়া বা ভাগ করা ) অন্তর্ভুক্ত করে।

যানবাহন

একটি যানবাহন আপনার বহরের একটি যানবাহনকে প্রতিনিধিত্ব করে। প্রোগ্রামগতভাবে, একটি Vehicle অবজেক্ট গাড়ির অবস্থান, বর্তমান ভ্রমণের একটি তালিকা এবং বর্তমান ওয়েপয়েন্টগুলির একটি তালিকা অন্তর্ভুক্ত করে।

ওয়েপয়েন্ট

একটি ওয়েপয়েন্ট একটি রুট বরাবর একটি অবস্থান প্রতিনিধিত্ব করে। এটি একটি পিকআপ অবস্থান, একটি ড্রপ-অফ অবস্থান, বা শুধুমাত্র পাশ দিয়ে যাওয়ার জন্য একটি মাইলফলক হতে পারে। প্রোগ্রামগতভাবে, একটি Waypoint অবজেক্টে ভৌগলিক স্থানাঙ্কের একটি সেট হিসাবে ওয়েপয়েন্টের অবস্থান, ওয়েপয়েন্টের ধরন এবং ওয়েপয়েন্ট অন্তর্ভুক্ত ট্রিপের শনাক্তকারী থাকে।

ট্রিপ এবং যানবাহন উভয়ই ওয়েপয়েন্ট ধারণ করে:

  • একটি ট্রিপের ওয়েপয়েন্টের সেটে ট্রিপের সাথে প্রাসঙ্গিক সমস্ত ওয়েপয়েন্ট থাকে। এটি অন্যান্য ট্রিপের জন্য ওয়েপয়েন্ট অন্তর্ভুক্ত করতে পারে যদি একটি ট্রিপ অন্য ট্রিপের সাথে শেয়ার করা হয়।

  • একটি গাড়ির ওয়েপয়েন্টের সেটে একাধিক ট্রিপের ওয়েপয়েন্ট সহ গাড়ির জন্য বাকি সমস্ত ওয়েপয়েন্ট থাকে।

নমুনা প্রবাহ

নিম্নলিখিত চিত্রটি সাধারণ ট্রিপ এবং অর্ডারের অগ্রগতি প্রবাহ দেখায়। আরও তথ্যের জন্য, একটি একক গন্তব্য ট্রিপ তৈরি এবং প্রদর্শন দেখুন।

তথ্যচিত্র

নিম্নলিখিত পদক্ষেপগুলি বর্ণনা করে যে কীভাবে নমুনা প্রবাহ সেট আপ করবেন:

  1. একটি যানবাহন তৈরি করুন, অবস্থান ভাগ করে নেওয়া সক্ষম করুন এবং তারপরে গাড়ির অবস্থা অনলাইনে সেট করুন৷ আপনি ফ্লিট ইঞ্জিনের মাধ্যমে যানবাহন তৈরি করেন। আপনি ফ্লিট ইঞ্জিন বা ড্রাইভার SDK-এর মাধ্যমে গাড়ির অবস্থা অনলাইনে সেট করতে পারেন।

  2. আপনার গাড়ির সাথে একজন গ্রাহককে মেলান। আপনার বহরের সম্ভাব্য যানবাহনের তালিকা খুঁজে পেতে আপনি SearchVehicles() পদ্ধতি ব্যবহার করতে পারেন।

  3. ফ্লিট ইঞ্জিনে একটি ট্রিপ তৈরি করুন, সেই ট্রিপে যানবাহন বরাদ্দ করুন, সেই ট্রিপটিকে ভোক্তাদের অ্যাপের সাথে সংযুক্ত করুন এবং ড্রাইভারকে পিকআপ এবং ড্রপ-অফ অবস্থানগুলি দিন৷

  4. ট্রিপের সময় ড্রাইভার SDK স্বয়ংক্রিয়ভাবে ETA, দূরত্ব এবং রুট আপডেট করে। ট্রিপ স্ট্যাটাস আপডেট করার জন্য আপনি দায়ী।

ট্রিপ এবং অর্ডারের অগ্রগতি বাস্তবায়ন শুরু করতে, একটি একক গন্তব্য ট্রিপ তৈরি এবং প্রদর্শন দেখুন।