cPanel Deployment Guide for Flask App
====================================

এই প্রজেক্টটি cPanel এ হোস্ট করার জন্য নিচের ধাপগুলো অনুসরণ করুন:

১. ফাইল আপলোড (Upload Files):
---------------------------
- আপনার প্রজেক্টের সমস্ত ফাইল (ব্যতীত `venv` এবং `__pycache__` ফোল্ডার) একটি ZIP ফাইল করুন।
- cPanel এর File Manager এ গিয়ে আপনার ডোমেইন বা সাব-ডোমেইনের রুট ফোল্ডারে এটি আপলোড করে Extract করুন।

২. পাইথন অ্যাপ তৈরি (Setup Python App):
------------------------------------
- cPanel এ "Setup Python App" অপশনে যান।
- "Create Application" বাটনে ক্লিক করুন।
- Python Version: ৩.১০ বা তার উপরের ভার্সন সিলেক্ট করুন।
- Application root: যেখানে ফাইলগুলো আপলোড করেছেন সেই ফোল্ডারের নাম (যেমন: organic-dokan)।
- Application URL: আপনার ডোমেইন সিলেক্ট করুন।
- Application startup file: `passenger_wsgi.py` লিখুন।
- Application Entry point: `application` লিখুন।
- "Create" বাটনে ক্লিক করুন।

৩. ডিপেন্ডেন্সি ইন্সটল (Install Dependencies):
------------------------------------------
- অ্যাপটি তৈরি হওয়ার পর স্ক্রিনের উপরে একটি কমান্ড দেখতে পাবেন (যেমন: `source /home/username/nodevenv/.../bin/activate`)। এটি কপি করুন।
- cPanel এর "Terminal" অপশনে গিয়ে কমান্ডটি পেস্ট করে এন্টার দিন।
- এরপর নিচের কমান্ডটি দিন:
  `pip install -r requirements.txt`

৪. ফাইল পারমিশন (Permissions):
---------------------------
- `static/uploads` এবং `instance/orders.db` ফাইলটি যাতে সার্ভার এডিট করতে পারে সেজন্য নিশ্চিত করুন এগুলোর পারমিশন সঠিক আছে (সাধারণত 755 বা 644)।

৫. অ্যাপ রিস্টার্ট (Restart App):
-----------------------------
- "Setup Python App" সেকশনে ফিরে গিয়ে "Restart" বাটনে ক্লিক করুন।

৬. অটোমেটিক স্ট্যাটাস আপডেট (Cron Job):
------------------------------------
অর্ডারগুলোর ডেলিভারি স্ট্যাটাস নিজে নিজে আপডেট হওয়ার জন্য একটি Cron Job সেট করুন:
- cPanel এর "Cron Jobs" মেনুতে যান।
- "Common Settings" থেকে "Once Per Hour" (প্রতি ঘণ্টায় একবার) সিলেক্ট করুন।
- "Command" বক্সে নিচের কমান্ডটি দিন:
  `curl -s "https://newroyalbd.shop/cron/update-steadfast-status?key=honey-nut-cron-secure-88"`
- এরপর "Add New Cron Job" এ ক্লিক করুন।

গুরুত্বপূর্ণ নোট:
--------------
- আমি অলরেডি `passenger_wsgi.py` এবং `requirements.txt` ফাইল তৈরি করে দিয়েছি।
- ডাটাবেস পাথ প্রোডাকশন এর জন্য অপ্টিমাইজ করা হয়েছে।
- যদি কোনো Internal Server Error দেখেন, তবে Error Log চেক করুন।
