dailydeals-bd.store-

Daily Deals BD — নতুন ওয়েবসাইট

এই প্রজেক্টটি dailydeals-bd.store-এর জন্য নতুন করে তৈরি করা হয়েছে। এটি পুরোনো final-main.zip ডেমোর কোড কপি করে তৈরি নয়।

কী আছে

গুরুত্বপূর্ণ API সীমা

Business Koro-এর তোমার দেওয়া ডকুমেন্টেশনে POST /orders একটি productId নেয়; quantity উপেক্ষা করা হয়। তাই cart/merged order-এ একাধিক product/quantity থাকলে Worker প্রত্যেক unit-এর জন্য আলাদা Business Koro order request করে। Worker একবারে সর্বোচ্চ ৩৫ unit পাঠায়। অর্ডার partial হলে সফল unit-এর ফলাফল সংরক্ষণ করা হয়, যাতে পরের চেষ্টা সফল unit-গুলো আবার পাঠানোর চেষ্টা না করে।

products endpoint-এ costPrice ও minimumSellingPrice থাকে। costPrice কোনো public response-এ পাঠানো হয় না। Selling price কমপক্ষে Business Koro-এর minimumSellingPrice.customerPaysDelivery হবে, কারণ checkout-এ delivery customer pays ধরে পাঠানো হয়।

ফোল্ডার

এখনো যেগুলো সেট করতে হবে

  1. Cloudflare D1 database তৈরি করে ID worker/wrangler.toml-এ বসাতে হবে।
  2. Cloudflare-এ Worker Secrets: BUSINESS_KORO_API_KEY; Worker variable/secret: ADMIN_UID (নিজের Firebase UID)।
  3. GitHub Actions Secrets: CLOUDFLARE_API_TOKEN ও CLOUDFLARE_ACCOUNT_ID।
  4. public/assets/common.js-এ API_BASE অবশ্যই deployed Worker custom domain/URL-এ মিলতে হবে। ডিফল্ট: https://api.dailydeals-bd.store।
  5. Firebase Authentication > Authorized domains-এ staging Pages domain ও পরে dailydeals-bd.store এবং www.dailydeals-bd.store যোগ করতে হবে।
  6. Firebase sign-in provider-এ Email/Password এবং Google চালু থাকতে হবে। Facebook Login ব্যবহার করা হয়নি।

সিকিউরিটি নোট

Local syntax checks

node --input-type=module --check < public/assets/store.js এবং অন্য JS ফাইল দিয়ে syntax check করা যায়। Worker deploy-এর আগে worker ফোল্ডারে npm install প্রয়োজন।