Troubleshooting
Common Issues
Deployment Fails
"Stripe secret key required"
- Solution: Add real Stripe keys to
.env.devor.env.prod(not placeholders)
"Region mismatch"
- Solution: Ensure AWS CLI region matches
AWS_REGIONinapp-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:
- Verify your domain in SES Console
- Request production access (Account Dashboard → "Request production access")
- Update email addresses in
config/app-config.ts
See the Configuration page for full email setup instructions.
CORS Errors
- Ensure
DOMAINinapp-config.tsmatches your actual domain exactly - Verify you have
.env.devfor development and.env.prodfor production - Redeploy:
npm run deploy:devornpm 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.