cPanel Node.js application
------------------------
Application root: this folder (after unzip)
Application startup file: index.js  (server.js is also included for local/Docker use)
Node version: 20.x (match cPanel selector)

Set environment variables in cPanel (see .env.production.example in repo root).
Import database: sql/production_cpanel_import.sql via phpMyAdmin (fresh DB only).
  Or on an existing DB: run sql/016 … sql/022 in phpMyAdmin in numeric order.

Recommended cPanel env: DB_POOL_LIMIT=3 (shared MySQL connection limits).

Do not expose uploads/ or .env inside public_html.

Health checks after deploy:
  GET /api/health        — ping only (can pass while schema is incomplete)
  GET /api/health/schema — shows missing tables/columns + repairHint
  GET /api/health/ready  — 503 when DB, auth, or schema checks fail
  GET /api/health/live   — process up only

Zip this entire folder for upload (7-Zip or: Compress-Archive -Path deploy\* -DestinationPath deploy.zip).