NestJS হল একটি জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক, যা আমাদের সহজেই মাইক্রোসার্ভিস, ওয়েব অ্যাপ্লিকেশন, এপিআই এবং আরও অনেক কিছু তৈরি করতে সাহায্য করে। NestJS এর মূল উদ্দেশ্য হল জাভাস্ক্রিপ্ট এর একটি স্ট্যান্ডার্ড এবং স্কেলেবল আর্কিটেকচার প্রদান করা, যা কোড কে পরিষ্কার, মডুলার এবং টেস্টেবল করে।
NestJS এর কিছু বৈশিষ্ট্য হল:
- Object Oriented Programming – NestJS অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর মূল ধারণা গুলো, যেমন ক্লাস, ইন্টারফেস, ইনহেরিটেন্স, ডিপেন্ডেন্সি ইনজেকশন, পলিমরফিজম, এবং ডেকোরেটর ব্যবহার করে। এই ফিচার গুলো কোড কে সহজ, পরিষ্কার, মডুলার এবং পুনরায় ব্যবহারযোগ্য করে।
- Typescript – NestJS টাইপস্ক্রিপ্ট এ লেখা হয়, যা হল জাভাস্ক্রিপ্ট এর একটি সুপারসেট, যা স্ট্যাটিক টাইপিং এবং অন্যান্য ফিচার গুলো যোগ করে। টাইপস্ক্রিপ্ট কোড কে কম্পাইল করে জাভাস্ক্রিপ্ট কোড তৈরি করে, যা যে কোনো প্ল্যাটফর্ম এ রান করা যায়। টাইপস্ক্রিপ্ট কোড কে বাগ মুক্ত, নিরাপদ, এবং বোঝার সহজ করে।
- Express – NestJS এক্সপ্রেস এর উপর ভিত্তি করে তৈরি হয়েছে, যা হল জাভাস্ক্রিপ্ট এর একটি জনপ্রিয় ওয়েব ফ্রেমওয়ার্ক, যা ওয়েব অ্যাপ্লিকেশন এর জন্য রাউটিং, মিডলওয়্যার, এবং অন্যান্য ফিচার গুলো প্রদান করে। এক্সপ্রেস এর সাথে সমন্বয় করে নেস্টজেএস একটি শক্তিশালী ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক তৈরি করে।
- Modular – NestJS মডিউলার এবং প্লাগেবল একটি ফ্রেমওয়ার্ক, যা মানে হল এটি বিভিন্ন কম্পোনেন্ট গুলোকে আলাদা করে রাখে এবং প্রয়োজন অনুযায়ী যোগ করা বা বাদ দেয়া যায়। এটি কোড কে আরও ফ্লেক্সিবল, রক্ষণাবেক্ষণযোগ্য, এবং টেস্টেবল করে। NestJS এর কিছু মডিউল হল ডাটাবেস, অথেন্টিকেশন, ভ্যালিডেশন, ক্যাশিং, কিউইং, লগিং, ইত্যাদি।
Prerequisites
NestJS এর জন্য NodeJS এর version ১৬ এর বেশি লাগবে
Setup
NestJS প্রজেক্ট দুই ভাবে create করা যায়। একটা হলো Nest CLI আরেকটা হলো starter project clone করা।
Nest CLI
npm install @nestjs/cli
nest new your-project-name
Starter Project Clone
git clone https://github.com/nestjs/typescript-starter.git project