Reactive Accelerator
1.2 - Project Structure

Next.js প্রজেক্ট স্ট্রাকচার

এই পার্টে আমরা Next.js অ্যাপ্লিকেশনের প্রজেক্ট স্ট্রাকচার নিয়ে আলোচনা করবো। চলুন নিচে টপ-লেভেল ফাইল এবং ফোল্ডার, কনফিগারেশন ফাইল, এবং অ্যাপ ও পেজ ডিরেক্টরির রাউটিং কনভেনশন নিয়ে বিস্তারিত জানি,

টপ-লেভেল ফোল্ডারসমূহ:

অ্যাপ্লিকেশনের কোড এবং স্ট্যাটিক অ্যাসেটগুলো অরগানাইজ করতে টপ-লেভেল ফোল্ডারগুলো ব্যবহৃত হয়।

ফোল্ডারকাজ
appApp Router ব্যাবহার করলে এই ফোল্ডারের মধ্যে সমস্ত রাউটিং ফাইলগুলো থাকে
pagesPages Router ব্যাবহার করলে এই ফোল্ডারের মধ্যে সমস্ত রাউটিং ফাইলগুলো থাকে
publicস্ট্যাটিক অ্যাসেট (ছবি, ফন্ট ইত্যাদি)
src(অপশনাল) অ্যাপ্লিকেশনের সোর্স ফোল্ডার

টপ-লেভেল ফাইলসমূহ:

টপ-লেভেল ফাইলগুলো অ্যাপ্লিকেশন কনফিগার, ডিপেনডেন্সি ম্যানেজ, মিডলওয়্যার রান, মনিটরিং টুল ইন্টিগ্রেট, এবং এনভায়রনমেন্ট ভেরিয়েবল ডিফাইন করার জন্য ব্যবহৃত হয়।

ফাইলকাজ
next.config.jsNext.js কনফিগারেশন ফাইল।
package.jsonপ্রজেক্ট ডিপেনডেন্সি এবং স্ক্রিপ্ট।
instrumentation.tsOpenTelemetry এবং ইনস্ট্রুমেন্টেশন।
middleware.tsNext.js রিকোয়েস্ট মিডলওয়্যার।
.envএনভায়রনমেন্ট ভেরিয়েবল।
.eslintrc.jsonESLint কনফিগারেশন ফাইল।
.gitignoreGit দ্বারা উপেক্ষিত ফাইল ও ফোল্ডার।
tsconfig.jsonTypeScript কনফিগারেশন ফাইল।
jsconfig.jsonJavaScript কনফিগারেশন ফাইল।

App Routing Conventions:

app ডিরেক্টরির মধ্যে ব্যবহৃত ফাইল কনভেনশন:

ফাইল নামকাজ
layoutলেআউট ডিফাইন করে।
pageপেজ ডিফাইন করে।
loadingলোডিং UI তৈরি করে।
not-foundNot Found UI।
errorনির্দিষ্ট পেজের এরর হ্যান্ডেল করে।
global-errorগ্লোবাল এরর UI।
routeAPI এন্ডপয়েন্ট ডিফাইন করে।
templateপুনরায় রেন্ডার হওয়া লেআউট।

Nested Routes এবং Dynamic Routes:

ফোল্ডার কনভেনশনরাউটিং
folderRoute সেগমেন্ট।
[folder]Dynamic Route সেগমেন্ট।
[...folder]Catch-all Route।
[[...folder]]Optional Catch-all Route।

Metadata এবং SEO ফাইল কনভেনশন:

ফাইল নামকাজ
favicon.icoফেভিকন ফাইল।
robots.txtRobots ফাইল।
sitemap.xmlসাইটম্যাপ ফাইল।
opengraph-imageOpen Graph ইমেজ।
twitter-imageTwitter ইমেজ।

Pages Routing Conventions:

pages ডিরেক্টরির রাউটিং কনভেনশন:

ফাইল নামকাজ
_appকাস্টম অ্যাপ।
_documentকাস্টম ডকুমেন্ট।
_errorকাস্টম এরর পেজ।
404404 এরর পেজ।
500500 এরর পেজ।