This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
This project uses NextAuth.js with Resend for email verification during user registration. Resend is a modern email service that's easy to set up and reliable.
- Go to Resend and create a free account
- Verify your domain or use a Resend subdomain for testing
- Generate an API key from the Resend dashboard
Copy .env.example to .env.local and update the following:
# Email Configuration (using Resend)
RESEND_API_KEY=your-resend-api-key-here
EMAIL_FROM=noreply@yourdomain.com # or your verified domainFor Production:
- Add and verify your domain in the Resend dashboard
- Use
noreply@yourdomain.comas the FROM address
For Development:
- You can use Resend's free tier with their subdomain
- Or use a sandbox domain for testing
- User registers with email and password
- Account is created but not verified (
emailVerified: null) - Beautiful verification email is sent via Resend
- User clicks the link in the email to verify
- Account is marked as verified (
emailVerified: timestamp)
- Beautiful Email Templates: Custom HTML email templates
- Email Verification: Users must verify their email before full access
- Password Strength: Enforced minimum 8 characters with uppercase, lowercase, and number
- Error Handling: Comprehensive error messages for better UX
- Resend Integration: Reliable email delivery with Resend