================================================================================
ROYAL MACAW NEXT.JS - CLOUDPANEL SERVER SETUP & DEPLOYMENT GUIDE
================================================================================

[০] সার্ভার তথ্য (Server Details)
--------------------------------------------------------------------------------
Server User    : royalmacaw01
Site Domain    : panel.royalmacaw.com
Site Directory : /home/royalmacaw01/htdocs/panel.royalmacaw.com
Node App Name  : royal-macaw
App Port       : 3000
WordPress URL  : https://shop.frmartbd.com


================================================================================
[১] প্রথমবার সার্ভার সেটআপ (First Time Fresh Setup)
================================================================================
CloudPanel File Manager দিয়ে `royal-macaw-production.zip` আপলোড করার পর 
PuTTY টার্মিনালে পর্যায়ক্রমে নিচের কমান্ডগুলো দিন:

# ধাপ ১: প্রজেক্ট ফোল্ডারে প্রবেশ করুন
cd /home/royalmacaw01/htdocs/panel.royalmacaw.com

# ধাপ ২: জিপ ফাইল আনজিপ করুন
unzip -o royal-macaw-production.zip

# ধাপ ৩: নোড প্যাকেজ ইনস্টল করুন
npm install --omit=dev

# ধাপ ৪: PM2 গ্লোবালি ইনস্টল করুন (যদি আগে না থাকে)
npm install -g pm2

# ধাপ ৫: ফোল্ডার পারমিশন ঠিক করুন
chmod -R 755 .next _next public

# ধাপ ৬: PM2 দিয়ে প্রথমবারের মতো ব্যাকগ্রাউন্ডে চালু করুন
pm2 start server.js --name "royal-macaw"

# ধাপ ৭: পার্মানেন্ট সেভ করুন (VPS রিবুট হলেও যেন অটো চালু থাকে)
pm2 save
pm2 startup


================================================================================
[২] WooCommerce API Keys সেটআপ ও .env এডিট করার নিয়ম
================================================================================
প্রোডাক্ট লাইভ সিঙ্ক ও চেকআউট চালুর জন্য WooCommerce Keys বসাতে হবে:

ক. WordPress Admin (https://shop.frmartbd.com/wp-admin) এ যান:
   -> WooCommerce > Settings > Advanced > REST API > Add key
   -> Description : Next.js Storefront
   -> Permissions : Read/Write (অবশ্যই)
   -> Generate API Key বাটনে ক্লিক করে ck_... এবং cs_... কপি করুন।

খ. সার্ভার টার্মিনালে .env ফাইল ওপেন করুন:
   nano /home/royalmacaw01/htdocs/panel.royalmacaw.com/.env

গ. পুরনো কী মুছে নতুন দুটি বসান:
   WC_CONSUMER_KEY=আপনার_নতুন_ck_...
   WC_CONSUMER_SECRET=আপনার_নতুন_cs_...

ঘ. সেভ করুন:
   - কিবোর্ডে চাপুন: Ctrl + O
   - তারপর চাপুন: Enter
   - ফাইল থেকে বের হতে চাপুন: Ctrl + X


================================================================================
[৩] সাধারণ / রেগুলার রিস্টার্ট কমান্ড (Quick Restart Commands)
================================================================================
যেকোনো সময় .env এডিট করার পর বা সাইট সাধারণ রিস্টার্ট দিতে টার্মিনালে দিন:

# শুধু royal-macaw রিস্টার্ট দিতে:
pm2 restart royal-macaw

# অথবা সব প্রসেস একসাথে রিস্টার্ট দিতে:
pm2 restart all

# সার্ভার লাইভ আছে কিনা দেখতে:
pm2 status

# সাইটের লাইভ লগ / এরর চেক করতে:
pm2 logs royal-macaw --lines 30


================================================================================
[৪] ভবিষ্যতে আপডেট কোড ডিপ্লয়মেন্ট (Future Updates: Unzip & Restart)
================================================================================
ভবিষ্যতে যখনই লোকাল পিসিতে কোড আপডেট করবেন:

১. লোকাল পিসিতে টার্মিনালে বিল্ড ও জিপ তৈরি করবেন:
   npm run build
   powershell -ExecutionPolicy Bypass -File .\create-zip.ps1

২. তৈরি হওয়া `royal-macaw-production.zip` ফাইলটি সার্ভারের
   `/home/royalmacaw01/htdocs/panel.royalmacaw.com` এ আপলোড করবেন।

৩. সার্ভার টার্মিনালে শুধু নিচের ৪ লাইনের কমান্ড একসাথে কপি করে পেস্ট করে দিবেন:

cd /home/royalmacaw01/htdocs/panel.royalmacaw.com
unzip -o royal-macaw-production.zip
npm install --omit=dev
pm2 restart royal-macaw


================================================================================
[৫] যদি সরাসরি সার্ভারেই Rebuild করতে চান (Direct Server Rebuild)
================================================================================
যদি কখনো সার্ভারে কোনো কোড ফাইল এডিট করেন এবং সার্ভারেই আবার Rebuild দিতে চান:

cd /home/royalmacaw01/htdocs/panel.royalmacaw.com
npm run build
pm2 restart royal-macaw


================================================================================
[৬] ইমার্জেন্সি ফিক্স ও সমস্যা সমাধান (Troubleshooting)
================================================================================
যদি কখনো কোনো কারণে সাইট অফ হয়ে যায় বা ক্র্যাশ করে:

১. প্রসেস ডিলিট করে নতুন করে ফ্রেশ স্টার্ট দিন:
   pm2 delete royal-macaw
   pm2 start server.js --name "royal-macaw"
   pm2 save

২. সরাসরি টেস্ট রান করে লাইভ এরর দেখতে চাইলে:
   node server.js
   (যদি `> Ready on 3000` আসে তাহলে বুঝবেন কোড ১০০% ঠিক আছে, তখন Ctrl + C দিয়ে বন্ধ করে PM2 চালু করবেন)

৩. CloudPanel ড্যাশবোর্ড থেকে রিস্টার্ট দিতে চাইলে:
   CloudPanel > Sites > panel.royalmacaw.com > Settings বা Node.js > Restart বাটন চাপুন।
================================================================================
