– Node.js 18+ and npm (or yarn/pnpm)
– MySQL 8.x (or a compatible MySQL service)
– Stripe account (keys + webhook)
– Cloudinary account (cloud name, API key/secret)