Configuration

– Create a .env file in the project root and configure required variables. See section 11 for a full reference. A typical local setup looks like:

  – DATABASE_URL=”mysql://USER:PASS@localhost:PORT/acadio”

  – NEXTAUTH_SECRET=”a-long-random-string”

  – APP_BASE_URL=”http://localhost:3000″

  – STRIPE_SECRET_KEY=”sk_test_…”

  – STRIPE_WEBHOOK_SECRET=”whsec_…”

  – NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=”pk_test_…”

  – CLOUDINARY_CLOUD_NAME=”your_cloud”

  – CLOUDINARY_API_KEY=”123456″

  – CLOUDINARY_API_SECRET=”abcdef”

  – NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=”your_cloud”

  – NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=”unsigned_preset_name”

Important:

– Ensure `APP_BASE_URL` matches the URL you access in the browser; Stripe success/cancel URLs depend on it.

– Create an unsigned upload preset in Cloudinary (for client uploads) or use signed uploads via the provided signature endpoint.