-
Initialize Git (if not already done):
git init git add . git commit -m "Initial commit: ShineTTW event landing page"
-
Push to GitHub:
git remote add origin <your-github-repo-url> git push -u origin main
- Go to vercel.com and sign in
- Click "New Project"
- Import your GitHub repository
- Configure project settings:
- Framework Preset: Next.js
- Root Directory:
./(default) - Build Command:
npm run build(default) - Output Directory:
.next(default)
- Click "Deploy"
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Follow the prompts to link your project-
Go to your Vercel project dashboard
-
Navigate to Settings → Environment Variables
-
Add the following variables:
Name Value Environment MAILCHIMP_API_KEYyour_api_key_hereProduction, Preview, Development MAILCHIMP_LIST_IDyour_list_id_hereProduction, Preview, Development MAILCHIMP_DCus21(or your DC)Production, Preview, Development -
Click "Save" for each variable
- Log in to Mailchimp
- Go to Account → Extras → API Keys
- Click Create A Key
- Copy the generated API key
- Go to Audience → Settings → Audience name and defaults
- Copy the Audience ID (looks like:
a1b2c3d4e5)
- Check your Mailchimp URL:
https://us21.admin.mailchimp.com - The data center is
us21(or whatever appears in your URL)
- Visit your Vercel URL (e.g.,
https://your-project.vercel.app) - Fill out the RSVP form with a test email
- Check your Mailchimp audience for the new subscriber
- Verify the confirmation message appears
When your shinetw.com domain is renewed:
- Go to Vercel project dashboard → Settings → Domains
- Click Add Domain
- Enter:
shinetw.com - Follow Vercel's DNS configuration instructions:
- Add an A record pointing to Vercel's IP
- Add a CNAME record for
wwwsubdomain
- Update the metadata in
app/layout.tsx:openGraph: { url: 'https://shinetw.com', // Update this // ... other settings }
Form not working:
- ✅ Check environment variables are set correctly
- ✅ Verify Mailchimp API key has proper permissions
- ✅ Check Vercel function logs for errors
Domain not working:
- ✅ Wait for DNS propagation (up to 48 hours)
- ✅ Verify DNS records are correct
- ✅ Check domain status in Vercel dashboard
Styling issues:
- ✅ Clear browser cache
- ✅ Check if TailwindCSS is building correctly
- ✅ Verify Google Fonts are loading
To debug issues in production:
- Go to Vercel dashboard → Functions tab
- Check the server action logs
- Add temporary console logs to
app/actions.ts:console.log('Environment check:', { hasApiKey: !!process.env.MAILCHIMP_API_KEY, hasListId: !!process.env.MAILCHIMP_LIST_ID, hasDc: !!process.env.MAILCHIMP_DC })
Test your deployment on mobile devices:
- iOS Safari: Test form submission and responsive design
- Android Chrome: Verify touch interactions
- Tablet: Check layout on larger screens
- Slow Network: Test with throttled connection
- ✅ Environment variables are set (not in code)
- ✅ Input validation is working
- ✅ Error messages don't expose sensitive data
- ✅ HTTPS is enabled (automatic with Vercel)
- ✅ No API keys in client-side code
Consider adding analytics to track form submissions:
- Google Analytics: Add GA4 tracking code
- Vercel Analytics: Enable in project settings
- Mailchimp Reports: Check subscription analytics
Your site is already optimized with:
- ✅ Next.js App Router for fast loading
- ✅ TailwindCSS for minimal CSS
- ✅ Google Fonts with display=swap
- ✅ Responsive images and lazy loading
- ✅ Server-side rendering for SEO
If you encounter issues:
- Check Vercel deployment logs
- Review Mailchimp API documentation
- Test locally with
npm run dev - Check browser console for errors
Your ShineTTW event landing page is now live! 🎉