Skip to content

প্যাকেজ ডেভেলপমেন্ট মাস্টারক্লাস (Refactored) ​

ভূমিকা ​

এই কোর্সটি আপনাকে একজন দক্ষ লারাভেল প্যাকেজ ডেভেলপার হিসেবে গড়ে তোলার জন্য ডিজাইন করা হয়েছে। আমরা শুধুমাত্র তত্ত্বের মধ্যে সীমাবদ্ধ থাকব না, বরং প্রতিটি অধ্যায়ে ধাপে ধাপে একটি সম্পূর্ণ, বাস্তব-বিশ্বের InvoiceBuilder প্যাকেজ তৈরি করব। আমাদের লক্ষ্য হলো " yaparak śikhā" (learning by doing) - অর্থাৎ, প্রতিটি কনসেপ্ট আমরা তখনই শিখব যখন সেটি আমাদের প্রজেক্টে প্রয়োজন হবে।


পার্ট ১: ফাউন্ডেশন ​

এই অংশে আমরা একটি প্যাকেজের ফাউন্ডেশন তৈরি করব এবং প্রতিটি অধ্যায় শেষে নতুন জিনিসপত্র যোগ করতে থাকবো।

অধ্যায় ১: প্রথম ইনস্টলযোগ্য প্যাকেজ ​

  • লক্ষ্য: একটি ন্যূনতম প্যাকেজ তৈরি করা যা লারাভেল অ্যাপ্লিকেশনে ইনস্টল করা যায়।
  • শিখনীয় বিষয়: ফোল্ডার স্ট্রাকচার, composer.json এর বেসিক, সার্ভিস প্রোভাইডার এবং লোকাল path রিপোজিটরি।

অধ্যায় ২: কনফিগারেশন - প্যাকেজকে কাস্টমাইজযোগ্য করা ​

  • লক্ষ্য: ব্যবহারকারীকে প্যাকেজের বিহাবেয়র পরিবর্তন করার সুযোগ দেওয়া।
  • শিখনীয় বিষয়: কনফিগ ফাইল তৈরি, mergeConfigFrom, এবং vendor:publish কমান্ডের মাধ্যমে কনফিগ পাবলিশ করা।

অধ্যায় ৩: রাউট এবং কন্ট্রোলার ​

  • লক্ষ্য: প্যাকেজের মাধ্যমে একটি ওয়েব পেজ দেখানো।
  • শিখনীয় বিষয়: প্যাকেজের জন্য রাউট ফাইল লোড করা, কন্ট্রোলার তৈরি এবং কনফিগারেশন-ড্রিভেন রাউটিং (prefix, middleware)।

অধ্যায় ৪: ভিউ - ইন্টারফেস দেখানো ​

  • লক্ষ্য: প্যাকেজের কন্ট্রোলার থেকে ডাইনামিক HTML কনটেন্ট রেন্ডার করা।
  • শিখনীয় বিষয়: loadViewsFrom এবং ভিউ নেমস্পেস (::), এবং ব্যবহারকারীর জন্য ভিউ ওভাররাইড করার সুযোগ তৈরি করা।

পার্ট ২: প্রাক্টিক্যাল ফিচার তৈরি ​

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

অধ্যায় ৫: সার্ভিস কন্টেইনার এবং কোর লজিক ​

  • লক্ষ্য: কন্ট্রোলার থেকে বিজনেস লজিককে আলাদা করে একটি সার্ভিস ক্লাসে নিয়ে আসা।
  • শিখনীয় বিষয়: সার্ভিস কন্টেইনার, bind বনাম singleton, ডিপেন্ডেন্সি ইনজেকশন এবং ট্যাক্স ক্যালকুলেশন লজিক।

অধ্যায় ৬: ডাটাবেস - ইনভয়েস সংরক্ষণ করা ​

  • লক্ষ্য: প্যাকেজের ডেটা ডাটাবেসে স্থায়ীভাবে সংরক্ষণ করা।
  • শিখনীয় বিষয়: মাইগ্রেশন তৈরি এবং পাবলিশিং, কনফিগারেবল টেবিলসহ মডেল তৈরি, এবং Eloquent রিলেশনশিপ।

অধ্যায় ৭: পিডিএফ ইনভয়েস তৈরি করা ​

  • লক্ষ্য: ডাটাবেসে সংরক্ষিত ইনভয়েসের একটি ডাউনলোডযোগ্য পিডিএফ সংস্করণ তৈরি করা।
  • শিখনীয় বিষয়: mpdf লাইব্রেরি ইনস্টল করা, পিডিএফের জন্য ভিউ তৈরি, এবং কন্ট্রোলার থেকে পিডিএফ রেসপন্স পাঠানো।

অধ্যায় ৮: কনসোল কমান্ড এবং অটোমেশন ​

  • লক্ষ্য: প্যাকেজ ম্যানেজমেন্টের জন্য কাস্টম artisan কমান্ড তৈরি করা।
  • শিখনীয় বিষয়: install কমান্ড তৈরি, কমান্ড রেজিস্ট্রেশন এবং টাস্ক শিডিউলিং।

পার্ট ৩: প্যাকেজের সিকিউরিটি এবং পাবলিকেশন ​

শেষ অংশে আমরা আমাদের প্যাকেজকে সুরক্ষিত, নির্ভরযোগ্য এবং সবার ব্যবহারের জন্য প্রস্তুত করব।

অধ্যায় ৯: নিরাপত্তা - মিডলওয়্যার এবং পলিসি ​

  • লক্ষ্য: প্যাকেজের রাউট এবং ডেটাকে সুরক্ষিত করা।
  • শিখনীয় বিষয়: কাস্টম মিডলওয়্যার তৈরি ও রেজিস্টার করা, এবং পলিসির মাধ্যমে ব্যবহারকারীর অ্যাক্সেস নিয়ন্ত্রণ করা।

অধ্যায় ১০: প্যাকেজ টেস্টিং ​

  • লক্ষ্য: প্যাকেজটি নির্ভরযোগ্য এবং বাগ-মুক্ত কিনা তা নিশ্চিত করার জন্য অটোমেটেড টেস্ট লেখা।
  • শিখনীয় বিষয়: Orchestra Testbench সেটআপ, ফিচার এবং ইউনিট টেস্ট লেখা।

অধ্যায় ১১: ডিস্ট্রিবিউশন এবং ভার্সনিং ​

  • লক্ষ্য: আমাদের প্যাকেজটি Packagist.org-এ প্রকাশ করা যাতে বিশ্বের যে কেউ এটি ব্যবহার করতে পারে।
  • শিখনীয় বিষয়: Semantic Versioning (SemVer), Packagist-এ সাবমিশন এবং ওয়েবহুকের মাধ্যমে অটো-আপডেট।