Ensure these are set in your Vercel project settings:
# Required for NextAuth
NEXTAUTH_SECRET=your-secure-random-string
NEXTAUTH_URL=https://your-domain.vercel.app
# Database
DATABASE_URL=your-postgresql-connection-string
# Optional: Email Configuration (only for scheduled reminders)
SMTP_EMAIL=your-email@gmail.com
SMTP_PASSWORD=your-gmail-app-password
SMTP_FROM_NAME=Todo App
REMINDER_HOURS=24
DEFAULT_USER_EMAIL=fallback@email.comNote: Email notifications for individual actions (task creation, completion, deletion, etc.) have been removed to simplify the app and prevent authentication issues. Only scheduled reminders use email functionality.
- ✅ Database schema is up to date
- ✅ Prisma client is generated
- ✅ All tables exist with correct structure
- ✅
npm run buildcompletes successfully - ✅ No TypeScript errors
- ✅ All dependencies are compatible
- ❌
node-crondoesn't work in serverless environment - ✅ Replaced with Vercel Cron Jobs
- ✅
/api/cron/remindersfor scheduled reminders - ✅ Configured in
vercel.json
- ✅ Removed email notifications for every action
- ✅ Only scheduled reminders use email functionality
- ✅ Prevents Gmail authentication errors during development
- ✅ Added fallbacks for missing env vars
- ✅ Better error messages for configuration issues
git add .
git commit -m "Remove email notifications for actions, keep only scheduled reminders"
git push origin main- Connect your GitHub repository to Vercel
- Set all required environment variables
- Deploy
- Check that all API endpoints work
- Test the reminder system manually
- Monitor Vercel function logs
# Check reminder system status
GET https://your-domain.vercel.app/api/reminders/status
# Test manual reminder processing
POST https://your-domain.vercel.app/api/cron/reminders
{"action": "process"}
# Check environment variables
GET https://your-domain.vercel.app/api/env-check- Check Vercel dashboard for cron job execution
- Verify logs show successful reminder processing
- Ensure no errors in function execution
- Create tasks (no emails sent)
- Toggle task completion (no emails sent)
- Delete tasks (no emails sent)
- Add comments (no emails sent)
- Link GitHub repos (no emails sent)
- Ensure all dependencies are in
package.json - Check for TypeScript compilation errors
- Verify Prisma schema is valid
- Check environment variables are set correctly
- Verify database connection string is accessible
- Monitor Vercel function logs
- Verify
vercel.jsonis in root directory - Check cron job schedule syntax
- Monitor Vercel dashboard for execution
- Monitor function execution times
- Check for cold start issues
- Track error rates
- Monitor query performance
- Check connection pool usage
- Optimize slow queries if needed
- Monitor reminder email send success rates
- Check for rate limiting issues
- Verify SMTP configuration
- ✅ App builds and deploys without errors
- ✅ All API endpoints respond correctly
- ✅ Database operations work as expected
- ✅ No email errors for individual actions
- ✅ Only scheduled reminders send emails
- ✅ Cron jobs execute on schedule
- ✅ No runtime errors in production logs
- ❌ Removed email notifications for task creation
- ❌ Removed email notifications for task completion
- ❌ Removed email notifications for task deletion
- ❌ Removed email notifications for comments
- ❌ Removed email notifications for repo linking
- ✅ Kept scheduled reminder emails only
This simplifies the app, prevents authentication errors, and focuses email functionality on the core reminder system.