Troubleshooting

Common Issues

Deployment Fails

"Stripe secret key required"

  • Solution: Add real Stripe keys to .env.dev or .env.prod (not placeholders)

"Region mismatch"

  • Solution: Ensure AWS CLI region matches AWS_REGION in app-config.ts

Note: After updating SSM parameters (Stripe keys, OAuth secrets), Lambda functions may take up to 15 minutes to use the new values due to caching.

Emails Not Sending

Note: Email is optional - your app works fully without it. User signup, auth, and payments function normally even if email isn't configured.

Development: Emails are skipped by default (logged to console) Production: If you want emails:

  1. Verify your domain in SES Console
  2. Request production access (Account Dashboard → "Request production access")
  3. Update email addresses in config/app-config.ts

See the Configuration page for full email setup instructions.

CORS Errors

  • Ensure DOMAIN in app-config.ts matches your actual domain exactly
  • Verify you have .env.dev for development and .env.prod for production
  • Redeploy: npm run deploy:dev or npm run deploy:prod

Authentication Issues

  • Clear browser cookies
  • Check Cognito User Pool ID in environment variables
  • Verify AWS region consistency

Quick Fixes

Reset everything:

npm run destroy # Destroys AWS stack npm run deploy:dev # Redeploys fresh (or deploy:prod for production)

Check logs:

  • Frontend: Browser console
  • Backend: AWS CloudWatch logs
  • Stripe: Stripe Dashboard → Developers → Logs

Get Help

  • AWS Issues: Check CloudWatch logs
  • Stripe Issues: Check Stripe Dashboard logs
  • Build Issues: Check Amplify Console build logs

Most issues are environment variable mismatches or AWS region inconsistencies.