– 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/estuda"
- 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.