Learn Next JS
App Router
01-getting-started
Project Structure and Organization

এই পাঠটি Next.js-এর ফোল্ডার আর ফাইল অর্গানাইজ করার নিয়মের সহজ ভাষায় সংক্ষিপ্ত বিবরণ। এখানে আপনি আপনার প্রজেক্ট সুন্দরভাবে সাজাতে কিছু সহজ দিকনির্দেশনা পাবেন।


🎧 Next App এর প্রোজেক্ট স্ট্রাকচার অর্গানাইজ করা
👉 সময় কম অডিও ফাইলটি শুনুন 🚀

ফোল্ডার আর ফাইল কিভাবে সাজাবেন

টপ-লেভেল ফোল্ডার

টপ-লেভেল ফোল্ডারগুলোতে আপনি অ্যাপের কোড আর ছবি, ফন্টের মতো স্ট্যাটিক ফাইল রাখতে পারবেন।

ফোল্ডারবর্ণনা
appApp Router ব্যবহারের জন্য।
pagesPages Router ব্যবহারের জন্য।
publicস্ট্যাটিক ফাইল (যেমন ছবি, আইকন) রাখার জন্য।
srcঅ্যাপের মূল কোড রাখার জন্য (ঐচ্ছিক)।

টপ-লেভেল ফাইল

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

ফাইলবর্ণনা
next.config.jsNext.js-এর কনফিগারেশন ফাইল।
package.jsonপ্রজেক্টের ডিপেন্ডেন্সি আর স্ক্রিপ্ট।
middleware.tsঅনুরোধ (request) পরিচালনার জন্য মিডলওয়্যার।
.envপরিবেশগত ভেরিয়েবল রাখার জন্য।
.gitignoreGit-এ ট্র্যাক না করা ফাইল বা ফোল্ডারের তালিকা।
tsconfig.jsonTypeScript-এর কনফিগারেশন ফাইল।

রাউটিং ফাইল

এই ফাইলগুলো দিয়ে আপনি অ্যাপের বিভিন্ন পেজ আর লেআউট ঠিক করতে পারবেন।

ফাইলবর্ণনা
layout.jsএকাধিক পেজের জন্য সাধারণ লেআউট।
page.jsনির্দিষ্ট রুটের জন্য ইউনিক UI।
loading.jsপেজ লোড হলে লোডিং ইন্টারফেস দেখায়।
not-found.jsপেজ না পেলে এই UI দেখায়।
error.jsকোনো সমস্যা হলে এই UI দেখায়।
route.jsসার্ভার-সাইড API এন্ডপয়েন্ট বানাতে।

রাউটিং তৈরির সহজ কৌশল

Next.js-এ আপনি সহজে বিভিন্ন রুট বানাতে পারবেন।

রুটের ধরণউদাহরণবর্ণনা
নেস্টেড রাউটিংfolder/folderএক রুটের ভেতরে আরেকটা রাউট।
ডাইনামিক রাউটিং[folder]ডেটা অনুযায়ী রাউট তৈরি।

রাউট গ্রুপিং আর প্রাইভেট ফোল্ডার

কোড গুছিয়ে রাখতে এই কৌশলগুলো খুব কাজে আসে।

  • রাউট গ্রুপ (folder): এই ফোল্ডারগুলো URL-এ আসে না, শুধু কোড সাজানোর জন্য। যেমন, (marketing) বা (shop) আলাদা গ্রুপে আলাদা লেআউট রাখা যায়。
  • প্রাইভেট ফোল্ডার _folder: ফোল্ডারের আগে আন্ডারস্কোর দিলে, ওই ফোল্ডার আর তার ফাইল রাউটিং-এ আসবে না। এখানে আপনি UI কম্পোনেন্ট বা হেল্পার ফাংশন রাখতে পারেন।

প্রজেক্ট সাজানোর সহজ কৌশল

আপনি চাইলে নিচের যেকোনোভাবে প্রজেক্ট সাজাতে পারেন।

  • app-এর বাইরে ফাইল রাখা: components বা lib-এর মতো ফোল্ডার app-এর বাইরে রাখুন, এতে রাউটিং আর মূল কোড আলাদা থাকবে。
  • app-এর ভেতরে ফাইল রাখা: সব কোড app-এর ভেতরে রাখুন, সবকিছু এক জায়গায় থাকবে。
  • ফিচার বা রুট অনুযায়ী ভাগ করা: প্রতিটি রুটের জন্য দরকারি কম্পোনেন্ট বা ফাইল ওই রুটের ফোল্ডারে রাখুন।

বিশেষ টিপস

  • একাধিক রুট লেআউট: অ্যাপকে একাধিক UI-তে ভাগ করতে চাইলে, প্রতিটি রুট গ্রুপে আলাদা layout.js ফাইল রাখুন। মনে রাখবেন, প্রতিটি লেআউটে <html> আর <body> ট্যাগ থাকা দরকার。
  • নির্দিষ্ট রুটের জন্য লোডিং স্কেলেটন: কোনো রুটের জন্য loading.js ফাইল রাখতে চাইলে, রুট গ্রুপ ব্যবহার করুন। এতে শুধু ওই রুটের জন্য লোডিং UI দেখানো হবে।

© 2025 React JS Bangla Tutorial.