ওয়াকথ্রুস

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

আপনার অ্যাড-অনটি অবশ্যই একটি Google ক্লাউড প্রকল্পের সাথে ইন্টারঅ্যাক্ট করবে। যদি আপনি Google ক্লাউডের সাথে অপরিচিত হন, তাহলে আমরা "শুরু করা" নির্দেশিকাগুলি পড়ার পরামর্শ দিচ্ছি। আপনি Google ক্লাউড কনসোলে শংসাপত্র, API অ্যাক্সেস এবং Google Workspace Marketplace SDK পরিচালনা করেন। Marketplace SDK সম্পর্কে আরও তথ্যের জন্য, Google Workspace Marketplace তালিকা নির্দেশিকা পৃষ্ঠাটি দেখুন।

এই নির্দেশিকাটি নিম্নলিখিত বিষয়গুলি কভার করে:

  • ক্লাসরুমের আইফ্রেমে দেখানোর জন্য একটি পৃষ্ঠা তৈরি করতে গুগল ক্লাউড ব্যবহার করুন।
  • গুগল সিঙ্গেল সাইন-অন (SSO) যোগ করুন এবং ব্যবহারকারীদের সাইন ইন করার অনুমতি দিন।
  • আপনার অ্যাড-অনটি একটি অ্যাসাইনমেন্টে সংযুক্ত করতে API কল করুন।
  • অ্যাড-অন জমা দেওয়ার জন্য মূল প্রয়োজনীয়তা এবং প্রয়োজনীয় বৈশিষ্ট্যগুলি বিবেচনা করুন।

এই নির্দেশিকা ধরে নিয়েছে যে আপনি প্রোগ্রামিং এবং মৌলিক ওয়েব ডেভেলপমেন্ট ধারণাগুলির সাথে পরিচিত। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি ওয়াকথ্রু শুরু করার আগে প্রজেক্ট কনফিগারেশন নির্দেশিকাটি পড়ুন। এই পৃষ্ঠায় গুরুত্বপূর্ণ কনফিগারেশনের বিবরণ রয়েছে যা ওয়াকথ্রুতে সম্পূর্ণরূপে অন্তর্ভুক্ত করা হয়নি।

উদাহরণ বাস্তবায়ন

পাইথনে একটি সম্পূর্ণ রেফারেন্স উদাহরণ পাওয়া যায়। জাভা এবং Node.js- এও আংশিক বাস্তবায়ন পাওয়া যায়। এই বাস্তবায়নগুলি পরবর্তী পৃষ্ঠাগুলিতে পাওয়া উদাহরণ কোডের উৎস।

কোথা থেকে ডাউনলোড করবেন

পাইথন এবং জাভার উদাহরণগুলি GitHub রিপোজিটরিতে পাওয়া যায়:

Node.js নমুনাটি একটি জিপ ফাইল হিসাবে ডাউনলোড করা যেতে পারে:

পূর্বশর্ত

একটি নতুন অ্যাড-অন প্রকল্প প্রস্তুত করতে নিম্নলিখিত বিভাগগুলি পর্যালোচনা করুন।

HTTPS সার্টিফিকেট

আপনি যেকোনো ডেভেলপমেন্ট পরিবেশে আপনার অ্যাপ হোস্ট করতে পারবেন, তবে আপনার ক্লাসরুম অ্যাড-অন শুধুমাত্র https:// এর মাধ্যমে উপলব্ধ। অতএব, আপনার অ্যাপ স্থাপন করতে বা অ্যাড-অন আইফ্রেমের মধ্যে এটি পরীক্ষা করার জন্য আপনার SSL এনক্রিপশন সহ একটি সার্ভারের প্রয়োজন।

SSL সার্টিফিকেট দিয়ে localhost ব্যবহার করা সম্ভব; লোকাল ডেভেলপমেন্টের জন্য সার্টিফিকেট তৈরি করতে হলে mkcert ব্যবহার করার কথা বিবেচনা করুন।

গুগল ক্লাউড প্রকল্প

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

সম্পন্ন হলে, আপনার OAuth 2.0 ক্লায়েন্ট আইডিটি JSON ফাইল হিসেবে ডাউনলোড করুন; আপনাকে এই শংসাপত্র ফাইলটি আনজিপ করা উদাহরণ ডিরেক্টরিতে যোগ করতে হবে। নির্দিষ্ট অবস্থানের জন্য ফাইলগুলি বুঝুন দেখুন।

OAuth শংসাপত্র

নতুন OAuth শংসাপত্র তৈরি করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  • গুগল ক্লাউড ক্রেডেনশিয়াল পৃষ্ঠায় যান। নিশ্চিত করুন যে স্ক্রিনের উপরে সঠিক প্রকল্পটি নির্বাচন করা হয়েছে।
  • CREATE CREDENTIALS এ ক্লিক করুন এবং ড্রপ-ডাউন থেকে OAuth ক্লায়েন্ট আইডি নির্বাচন করুন।
  • পরবর্তী পৃষ্ঠায়:
    • অ্যাপ্লিকেশনের ধরণটি ওয়েব অ্যাপ্লিকেশনে সেট করুন।
    • Authorized redirect URIs এর অধীনে, ADD URI এ ক্লিক করুন। আপনার অ্যাপ্লিকেশনের জন্য একটি কলব্যাক রুটের জন্য সম্পূর্ণ পাথ যোগ করুন। উদাহরণস্বরূপ, https://my.domain.com/auth-callback অথবা https://localhost:5000/callback । আপনি এই ওয়াকথ্রুতে পরে এই রুটটি তৈরি এবং পরিচালনা করবেন। আপনি যেকোনো সময় এই ধরনের রুট সম্পাদনা বা আরও যোগ করতে পারেন।
    • তৈরি করুন ক্লিক করুন।
  • এরপর আপনার নতুন তৈরি করা শংসাপত্র সহ একটি ডায়ালগ পাবেন। ডাউনলোড JSON বিকল্পটি নির্বাচন করুন। ডাউনলোড করা JSON ফাইলটি আপনার সার্ভার ডিরেক্টরিতে অনুলিপি করুন।

ভাষা-নির্দিষ্ট পূর্বশর্ত

পূর্বশর্তগুলির সবচেয়ে হালনাগাদ তালিকার জন্য প্রতিটি সংগ্রহস্থলে README ফাইলটি দেখুন।

পাইথন

আমাদের পাইথনের উদাহরণে ফ্লাস্ক ফ্রেমওয়ার্ক ব্যবহার করা হয়েছে। আপনি প্রদত্ত লিঙ্কগুলি থেকে সম্পূর্ণ সোর্স কোড ডাউনলোড করতে পারেন।

প্রয়োজনে, Python 3.7+ ইনস্টল করুন এবং নিশ্চিত করুন যে pip উপলব্ধ।

python3 -m ensurepip --upgrade

আমরা আপনাকে একটি নতুন পাইথন ভার্চুয়াল পরিবেশ সেট আপ এবং সক্রিয় করার পরামর্শ দিচ্ছি।

python3 -m venv .classroom-addon-env
source .classroom-addon-env/bin/activate

ডাউনলোড করা উদাহরণগুলির প্রতিটি ওয়াকথ্রু সাবডিরেক্টরিতে একটি requirements.txt আছে। আপনি pip ব্যবহার করে দ্রুত প্রয়োজনীয় লাইব্রেরি ইনস্টল করতে পারেন। প্রথম ওয়াকথ্রুতে প্রয়োজনীয় লাইব্রেরি ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

cd flask/01-basic-app
pip install -r requirements.txt

নোড.জেএস

আমাদের Node.js উদাহরণটি Express ফ্রেমওয়ার্ক ব্যবহার করে। আপনি প্রদত্ত লিঙ্কগুলি থেকে সম্পূর্ণ সোর্স কোড ডাউনলোড করতে পারেন।

এই উদাহরণের জন্য Node.js v16.13 বা তার পরবর্তী সংস্করণ প্রয়োজন।

npm ব্যবহার করে প্রয়োজনীয় নোড মডিউল ইনস্টল করুন।

npm install

জাভা

আমাদের জাভা উদাহরণে স্প্রিং বুট ফ্রেমওয়ার্ক ব্যবহার করা হয়েছে। আপনি প্রদত্ত লিঙ্কগুলি থেকে সম্পূর্ণ সোর্স কোড ডাউনলোড করতে পারেন।

আপনার মেশিনে যদি জাভা ১১+ ইনস্টল না থাকে, তাহলে এটি ইনস্টল করুন।

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

যে ডিরেক্টরিতে আপনি প্রকল্পটি ডাউনলোড বা ক্লোন করেছেন, সেখানে প্রকল্পটি চালানোর জন্য প্রয়োজনীয় পূর্বশর্তগুলি নিশ্চিত করতে নিম্নলিখিত কমান্ডগুলি চালান।

java --version
./mvnw --version

অথবা উইন্ডোজে:

java -version
mvnw.cmd --version

ফাইলগুলো বুঝুন

নিম্নলিখিত বিভাগগুলি উদাহরণ ডিরেক্টরিগুলির বিন্যাস বর্ণনা করে।

ডিরেক্টরির নাম

প্রতিটি সংগ্রহস্থলে বেশ কয়েকটি ডিরেক্টরি থাকে যার নাম একটি সংখ্যা দিয়ে শুরু হয়, যেমন /01-basic-app/ । সংখ্যাগুলি নির্দিষ্ট ওয়াকথ্রু ধাপগুলির সাথে সামঞ্জস্যপূর্ণ। প্রতিটি ডিরেক্টরিতে একটি সম্পূর্ণ কার্যকরী ওয়েব অ্যাপ থাকে যা একটি নির্দিষ্ট ওয়াকথ্রুতে বর্ণিত বৈশিষ্ট্যগুলি বাস্তবায়ন করে। উদাহরণস্বরূপ, /01-basic-app/ ডিরেক্টরিতে একটি অ্যাড-অন ওয়াকথ্রু তৈরির চূড়ান্ত বাস্তবায়ন থাকে।

ডিরেক্টরির বিষয়বস্তু

বাস্তবায়ন ভাষার উপর নির্ভর করে ডিরেক্টরির বিষয়বস্তু ভিন্ন হয়:

পাইথন

  • ডিরেক্টরি রুটে নিম্নলিখিত ফাইলগুলি রয়েছে:

    • main.py - পাইথন অ্যাপ্লিকেশন এন্ট্রি পয়েন্ট। এই ফাইলে আপনি যে সার্ভার কনফিগারেশনটি ব্যবহার করতে চান তা নির্দিষ্ট করুন, তারপর সার্ভারটি শুরু করতে এটি চালান।
    • requirements.txt - ওয়েব অ্যাপ চালানোর জন্য প্রয়োজনীয় পাইথন মডিউল। এগুলো pip install -r requirements.txt ব্যবহার করে স্বয়ংক্রিয়ভাবে ইনস্টল করা যেতে পারে।
    • client_secret.json - গুগল ক্লাউড থেকে ডাউনলোড করা ক্লায়েন্ট সিক্রেট ফাইল। মনে রাখবেন যে এটি উদাহরণ আর্কাইভে অন্তর্ভুক্ত নয়; আপনার ডাউনলোড করা ক্রেডেনশিয়াল ফাইলটি প্রতিটি ডিরেক্টরি রুটে পুনঃনামকরণ এবং অনুলিপি করা উচিত।

  • config.py - ফ্লাস্ক সার্ভারের জন্য কনফিগারেশন বিকল্প।

  • webapp ডিরেক্টরিতে ওয়েব অ্যাপ্লিকেশনের বিষয়বস্তু থাকে। এতে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকে:

  • বিভিন্ন পৃষ্ঠার জন্য জিনজা টেমপ্লেট সহ /templates/ ডিরেক্টরি।

  • ছবি, CSS এবং আনুষঙ্গিক জাভাস্ক্রিপ্ট ফাইল সহ /static/ ডিরেক্টরি।

  • routes.py - ওয়েব অ্যাপ্লিকেশন রুটের হ্যান্ডলার পদ্ধতি।

  • __init__.py - webapp মডিউলের জন্য ইনিশিয়ালাইজার। এই ইনিশিয়ালাইজারটি ফ্লাস্ক সার্ভার শুরু করে এবং config.py এ সেট করা কনফিগারেশন অপশন লোড করে।

  • একটি নির্দিষ্ট ওয়াকথ্রু ধাপ অনুসারে প্রয়োজন অনুসারে অতিরিক্ত ফাইল।

নোড.জেএস

ওয়াকথু-এর প্রতিটি ধাপ তার নিজস্ব <step> সাব-ফোল্ডারে পাওয়া যাবে। প্রতিটি ধাপে রয়েছে:

  • জাভাস্ক্রিপ্ট, সিএসএস এবং চিত্রের মতো স্ট্যাটিক ফাইলগুলি ./<step>/public ফোল্ডারে পাওয়া যায়।
  • এক্সপ্রেস রাউটারগুলি ./<step>/routes ফোল্ডারে পাওয়া যায়।
  • HTML টেমপ্লেটগুলি ./<step>/views ফোল্ডারে পাওয়া যায়।
  • সার্ভার অ্যাপ্লিকেশনটি হল ./<step>/app.js

জাভা

প্রকল্প ডিরেক্টরিতে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • src.main ডিরেক্টরিতে অ্যাপ্লিকেশনটি সফলভাবে চালানোর জন্য সোর্স কোড এবং কনফিগারেশন রয়েছে। এই ডিরেক্টরিতে নিম্নলিখিতগুলি রয়েছে: + java.com.addons.spring ডিরেক্টরিতে Application.java এবং Controller.java ফাইল রয়েছে। Application.java ফাইলটি অ্যাপ্লিকেশন সার্ভার চালানোর জন্য দায়ী, যখন Controller.java ফাইলটি এন্ডপয়েন্ট লজিক পরিচালনা করে। + resources ডিরেক্টরিতে HTML এবং JavaScript ফাইল সহ templates ডিরেক্টরি রয়েছে। এতে application.properties ফাইলও রয়েছে যা সার্ভার চালানোর জন্য পোর্ট, keystore ফাইলের পাথ এবং templates ডিরেক্টরির পাথ নির্দিষ্ট করে। এই উদাহরণে resources ডিরেক্টরিতে keystore ফাইলটি অন্তর্ভুক্ত রয়েছে। আপনি যেখানে খুশি সেখানে এটি সংরক্ষণ করতে পারেন, তবে নিশ্চিত করুন যে আপনি application.properties ফাইলটি সেই অনুযায়ী পাথ সহ আপডেট করেছেন।
    • pom.xml প্রকল্পটি তৈরি করতে এবং প্রয়োজনীয় নির্ভরতা নির্ধারণ করতে প্রয়োজনীয় তথ্য রয়েছে।
    • .gitignore এ এমন ফাইলের নাম রয়েছে যা git-এ আপলোড করা উচিত নয়। নিশ্চিত করুন যে আপনি এই .gitignore এ আপনার কীস্টোরের পাথ যোগ করেছেন। প্রদত্ত উদাহরণে, এটি secrets/*.p12 (কীস্টোরের উদ্দেশ্য নীচের অংশে আলোচনা করা হয়েছে)। ওয়াকথ্রু 2 এবং তার পরে, আপনার client_secret.json ফাইলের পাথও অন্তর্ভুক্ত করা উচিত যাতে আপনি আপনার গোপনীয়তাগুলি একটি দূরবর্তী সংগ্রহস্থলে অন্তর্ভুক্ত না করেন। ওয়াকথ্রু 3 এবং তার পরে, আপনার H2 ডাটাবেস ফাইল এবং ফাইল ডেটাস্টোর ফ্যাক্টরির পাথ যোগ করা উচিত। এই ডেটা স্টোরগুলির সেটআপ সম্পর্কে আরও তথ্য পুনরাবৃত্তি পরিদর্শন পরিচালনার তৃতীয় ওয়াকথ্রুতে পাওয়া যাবে।
    • mvnw এবং mvnw.cmd হল যথাক্রমে Unix এবং Windows এর জন্য Maven র‍্যাপার এক্সিকিউটেবল। উদাহরণস্বরূপ, Unix এ ./mvnw --version চালানোর মাধ্যমে Apache Maven সংস্করণ, অন্যান্য তথ্যের সাথে পাওয়া যায়।
    • .mvn ডিরেক্টরিতে Maven র‍্যাপারের জন্য কনফিগারেশন রয়েছে।

নমুনা সার্ভার চালান

আপনার সার্ভারটি পরীক্ষা করার জন্য আপনাকে এটি চালু করতে হবে। আপনার পছন্দের ভাষায় উদাহরণ সার্ভারটি চালানোর জন্য এই নির্দেশাবলী অনুসরণ করুন:

পাইথন

OAuth শংসাপত্র

পূর্বে বর্ণিত পদ্ধতিতে আপনার OAuth শংসাপত্র তৈরি করুন এবং ডাউনলোড করুন। JSON ফাইলটি আপনার অ্যাপ্লিকেশনের সার্ভার লঞ্চ ফাইলের পাশাপাশি রুট ডিরেক্টরিতে রাখুন।

সার্ভার কনফিগার করুন

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

  1. অসুরক্ষিত localhost । মনে রাখবেন এটি শুধুমাত্র ব্রাউজার উইন্ডোতে সরাসরি পরীক্ষার জন্য উপযুক্ত; অসুরক্ষিত ডোমেনগুলি ক্লাসরুম অ্যাড-অন আইফ্রেমে লোড করা যাবে না।

    if __name__ == "__main__":
      # Disable OAuthlib's HTTPs verification.
      os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
    
      # Run the web app at http://localhost:5000.
      app.run(debug=True)
    
  2. নিরাপদ localhostssl_context আর্গুমেন্টের জন্য আপনাকে অবশ্যই SSL কী ফাইলের একটি টুপল নির্দিষ্ট করতে হবে।

    if __name__ == "__main__":
      # Run the web app at https://localhost:5000.
      app.run(host="localhost",
              ssl_context=("localhost.pem", "localhost-key.pem"),
              debug=True)
    
  3. Gunicorn সার্ভার। এটি একটি প্রোডাকশন-রেডি সার্ভার বা ক্লাউড স্থাপনার জন্য উপযুক্ত। আমরা এই লঞ্চ বিকল্পের সাথে ব্যবহারের জন্য একটি PORT পরিবেশ পরিবর্তনশীল সেট করার পরামর্শ দিচ্ছি।

    if __name__ == "__main__":
      # Run the web app at https://<your domain>:<server_port>.
      # Defaults to https://<your domain>:8080.
      server_port = os.environ.get("PORT", "8080")
      app.run(debug=True, port=server_port, host="0.0.0.0")
    

সার্ভার চালু করুন

পূর্ববর্তী ধাপে কনফিগার করা সার্ভারটি চালু করতে আপনার পাইথন অ্যাপ্লিকেশনটি চালান।

python main.py

আপনার ওয়েব অ্যাপটি সঠিকভাবে চলছে কিনা তা নিশ্চিত করতে ব্রাউজারে যে URL টি দেখা যাচ্ছে তাতে ক্লিক করুন।

নোড.জেএস

সার্ভার কনফিগার করুন

HTTPS এর মাধ্যমে সার্ভার চালানোর জন্য, আপনাকে একটি স্ব-সার্টিফিকেট তৈরি করতে হবে যা HTTPS এর মাধ্যমে অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হবে। এই শংসাপত্রগুলি রিপোজিটরি রুট ফোল্ডারে sslcert/cert.pem এবং sslcert/key.pem হিসাবে সংরক্ষণ করা উচিত। আপনার ব্রাউজারটি এগুলি গ্রহণ করার জন্য আপনাকে এই কীগুলি আপনার OS কী চেইনে যুক্ত করতে হতে পারে।

নিশ্চিত করুন যে *.pem আপনার .gitignore ফাইলে আছে কারণ আপনি ফাইলটি git-এ কমিট করতে চান না।

সার্ভার চালু করুন

আপনি সার্ভার হিসেবে যে ধাপটি চালাতে চান তার সঠিক ধাপের পরিবর্তে step01 কমান্ডটি ব্যবহার করে অ্যাপ্লিকেশনটি চালাতে পারেন (উদাহরণস্বরূপ, 01-basic-app এর জন্য step01 এবং 02-sign-in এর জন্য step02 )।

npm run step01

অথবা

npm run step02

এটি https://localhost:5000 এ ওয়েব সার্ভার চালু করে।

আপনি আপনার টার্মিনালে Control + C ব্যবহার করে সার্ভারটি বন্ধ করতে পারেন।

জাভা

সার্ভার কনফিগার করুন

HTTPS এর মাধ্যমে সার্ভার চালানোর জন্য, আপনাকে একটি স্ব-শংসাপত্র তৈরি করতে হবে যা HTTPS এর মাধ্যমে অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হবে।

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

mkcert -install
mkcert -pkcs12 -p12-file <path_to_keystore> <domain_name>

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

নিশ্চিত করুন যে *.p12 আপনার .gitignore ফাইলে আছে কারণ আপনি ফাইলটি git-এ কমিট করতে চান না।

সার্ভার চালু করুন

Application.java ফাইলে main মেথডটি রান করে সার্ভারটি চালু করুন। উদাহরণস্বরূপ, IntelliJ তে, আপনি src/main/java/com/addons/spring ডিরেক্টরিতে Application.java > Run 'Application' এ ডান-ক্লিক করতে পারেন অথবা main(String[] args) মেথড সিগনেচারের বাম দিকে সবুজ তীর চিহ্নে ক্লিক করতে Application.java ফাইলটি খুলতে পারেন। বিকল্পভাবে, আপনি একটি টার্মিনাল উইন্ডোতে প্রজেক্টটি চালাতে পারেন:

./mvnw spring-boot:run

অথবা উইন্ডোজে:

mvnw.cmd spring-boot:run

এটি https://localhost:5000 অথবা application.properties এ আপনার নির্দিষ্ট করা পোর্টে সার্ভারটি চালু করে।