MeanJS একটি পূর্ণাঙ্গ JavaScript স্ট্যাক যা MongoDB, Express.js, AngularJS, এবং Node.js এর মাধ্যমে তৈরি অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। যখন আপনি MeanJS স্ট্যাকের মাধ্যমে একটি প্রজেক্ট তৈরি করেন, তখন এটি একটি নির্দিষ্ট ফোল্ডার এবং ফাইল স্ট্রাকচার অনুসরণ করে। এই স্ট্রাকচারটি কোড সংগঠিত এবং পরিচালনা করা সহজ করে তোলে।
এখন আমরা MeanJS প্রজেক্টের সাধারণ ফোল্ডার এবং ফাইল স্ট্রাকচার নিয়ে আলোচনা করব।
MeanJS প্রজেক্টের ফোল্ডার এবং ফাইল স্ট্রাকচার
১. /app (অ্যাপ্লিকেশন ফোল্ডার)
এই ফোল্ডারে সমস্ত অ্যাপ্লিকেশনের মূল ফাংশনালিটি থাকে, যেমন রাউটিং, মডেল, কন্ট্রোলার ইত্যাদি।
- /app/controllers: এখানে সার্ভার সাইড কন্ট্রোলারগুলি থাকে, যা ক্লায়েন্টের রিকুয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়।
- /app/models: মডেল ফোল্ডারে ডেটাবেসের জন্য স্কিমা এবং মডেল ফাইল থাকে। MongoDB এর জন্য এখানে MongoDB স্কিমা সংজ্ঞায়িত করা হয়।
- /app/routes: এখানে অ্যাপ্লিকেশনের রাউটগুলি থাকে, যেমন API রাউট বা সাধারণ URL রাউট।
- /app/views: AngularJS টেমপ্লেটগুলির জন্য ফোল্ডার, যা ক্লায়েন্ট সাইডে প্রদর্শিত হয়।
২. /config (কনফিগারেশন ফোল্ডার)
এই ফোল্ডারটি অ্যাপ্লিকেশনের কনফিগারেশন ফাইলগুলো ধারণ করে, যেমন ডেটাবেস কনফিগারেশন, অথেনটিকেশন কনফিগারেশন ইত্যাদি।
- /config/env: পরিবেশ নির্ভর কনফিগারেশন যেমন, ডেভেলপমেন্ট, প্রোডাকশন, স্টেজিং ইত্যাদি।
- /config/passport.js: এখানে Passport.js এর মাধ্যমে অথেনটিকেশন কনফিগারেশন করা হয়।
৩. /public (পাবলিক ফোল্ডার)
এই ফোল্ডারে অ্যাপ্লিকেশনের স্ট্যাটিক ফাইলগুলো থাকে, যেমন CSS, JavaScript, এবং ইমেজ ফাইল।
- /public/js: এখানে AngularJS অ্যাপ্লিকেশনটি থাকে। এই ফোল্ডারে অ্যাপ্লিকেশনটির সব ক্লায়েন্ট সাইড স্ক্রিপ্ট থাকে।
- /public/css: অ্যাপ্লিকেশনের স্টাইলশিট (CSS) ফাইলগুলো থাকে।
- /public/images: অ্যাপ্লিকেশনের ইমেজ ফাইলগুলো এখানে সংরক্ষিত হয়।
৪. /node_modules (নোড মডিউল ফোল্ডার)
এটি স্বয়ংক্রিয়ভাবে তৈরি হয় যখন আপনি npm install কমান্ড চালান। এই ফোল্ডারে সমস্ত তৃতীয় পক্ষের লাইব্রেরি ও ডিপেন্ডেন্সি থাকে, যেমন Express, AngularJS, Mongoose ইত্যাদি।
৫. /views (AngularJS ভিউ)
এটি AngularJS এর ভিউ বা টেমপ্লেট ফোল্ডার, যেখানে অ্যাপ্লিকেশনের ইউজার ইন্টারফেসের টেমপ্লেট থাকে। এখানে ডাইনামিক পেজ রেন্ডার করার জন্য AngularJS এর কোড থাকে।
৬. /scripts (স্ক্রিপ্ট ফোল্ডার)
এই ফোল্ডারে সাধারণত AngularJS এর কন্ট্রোলার, সার্ভিস, এবং ফ্যাক্টরি ফাইলগুলো থাকে। AngularJS এর ক্লায়েন্ট সাইড ফাংশনালিটি এখানে সংরক্ষিত হয়।
৭. /bin (বাইনারি ফোল্ডার)
এই ফোল্ডারে সাধারণত সার্ভারের চালু হওয়ার স্ক্রিপ্ট থাকে। যেমন, server.js ফাইল, যা অ্যাপ্লিকেশন স্টার্ট আপ করতে ব্যবহৃত হয়।
উদাহরণস্বরূপ MeanJS ফোল্ডার স্ট্রাকচার
/meanjs-project
│
├── /app
│ ├── /controllers
│ │ ├── users.controller.js
│ │ └── posts.controller.js
│ ├── /models
│ │ ├── user.model.js
│ │ └── post.model.js
│ ├── /routes
│ │ ├── user.routes.js
│ │ └── post.routes.js
│ ├── /views
│ │ └── home.view.html
│ └── app.js
│
├── /config
│ ├── env
│ │ ├── development.js
│ │ └── production.js
│ └── passport.js
│
├── /public
│ ├── /js
│ │ ├── angular-app.js
│ │ └── angular-controller.js
│ ├── /css
│ │ └── styles.css
│ └── /images
│ └── logo.png
│
├── /node_modules
│ └── [dependencies]
│
├── /views
│ └── home.html
│
├── /scripts
│ ├── controllers
│ │ ├── userController.js
│ │ └── postController.js
│ └── services
│ ├── userService.js
│ └── postService.js
│
├── /bin
│ └── server.js
│
└── package.json
সারাংশ
MeanJS প্রজেক্টের ফোল্ডার এবং ফাইল স্ট্রাকচার একটি পরিষ্কার এবং সংগঠিত ডেভেলপমেন্ট পরিবেশ তৈরি করতে সহায়ক। প্রতিটি ফোল্ডার নির্দিষ্ট ফাংশনালিটি পালন করে, যা ডেভেলপারদের দ্রুত কাজ করতে এবং কোড মেইনটেইন করতে সাহায্য করে। এই স্ট্রাকচারটি MongoDB, Express.js, AngularJS, এবং Node.js এর সমন্বয়ে অ্যাপ্লিকেশন তৈরির জন্য আদর্শ।