Active Links:
- Vercel: https://hari-sandy-pi.vercel.app
- Netlify: https://sage-capybara-288448.netlify.app
- Go to your Supabase Dashboard: https://app.supabase.com
- Select your project
- Go to Settings → API
- Copy these two values:
- Project URL (starts with https://...)
- anon public key (starts with eyJ...)
- Go to Netlify Dashboard: https://app.netlify.com
- Select your site: sage-capybara-288448
- Go to Site Settings → Build & Deploy → Environment Variables
- Click Add Variable and add:
VITE_SUPABASE_URL=https://your-project.supabase.co VITE_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
- Save and trigger a new deploy
- In Supabase Dashboard → Authentication → URL Configuration
- Add to Redirect URLs:
https://hari-sandy-pi.vercel.app/auth/callback https://hari-sandy-pi.vercel.app/dashboard https://hari-sandy-pi.vercel.app/** http://localhost:5173/auth/callback http://localhost:5173/dashboard http://localhost:5173/**
🔧 CRITICAL: Enable Magic Links and Disable Email OTP
- Go to Supabase Dashboard → Authentication → Providers → Email
- ❌ Disable "Email OTP" (this prevents 6-digit codes)
- ✅ Enable "Magic Links" (this sends clickable login links)
- Save changes
This ensures users only receive magic links, not OTP codes.
0x4AAAAAABwZamBKxT6kBA4N
- Go to Supabase Dashboard → Settings → Authentication → Bot and Abuse Protection
- Enable CAPTCHA protection
- Provider: Cloudflare Turnstile
- Site Key:
0x4AAAAAABwZamBKxT6kBA4N
- Secret Key: (Get from your Cloudflare Turnstile dashboard)
To enable Magic Link emails sent from "ZENIX" to user email addresses, you need to configure SMTP settings in your Supabase project.
- Go to your Supabase Dashboard: https://app.supabase.com/project/[your-project-id]
- Navigate to Authentication → Settings → SMTP Settings
- Enable Enable custom SMTP
- Fill in the following details:
Sender Name: ZENIX
Sender Email: noreply@yourdomain.com (or your preferred sender email)
Host: your-smtp-server.com
Port: 587 (or 465 for SSL)
Username: your-smtp-username
Password: your-smtp-password
Gmail SMTP:
- Host:
smtp.gmail.com
- Port:
587
- Username: your-gmail@gmail.com
- Password: App-specific password (not your Gmail password)
SendGrid:
- Host:
smtp.sendgrid.net
- Port:
587
- Username:
apikey
- Password: Your SendGrid API key
Mailgun:
- Host:
smtp.mailgun.org
- Port:
587
- Username: postmaster@your-domain.mailgun.org
- Password: Your Mailgun password
In Supabase Dashboard → Authentication → Email Templates, you can customize:
- Magic Link template for login emails
- Set subject line: "ZENIX - Click to Login"
- Customize the email body with ZENIX branding
- Complete SMTP configuration
- Run the app:
npm run dev
- Sign up a new user
- Try logging in - Magic Link should be sent from "ZENIX" to the user's email
- Automatic database storage on signup
- Email/Registration validation on login
- SMTP Magic Link emails with ZENIX branding
- Personalized emails with recipient's name
- Role-based dashboards (Student/Staff/Admin)
- Frontend: React + TypeScript + Tailwind CSS
- Backend: Supabase (PostgreSQL + Auth)
- Email: Supabase Auth Magic Links with custom SMTP
- Deployment: Vite + Netlify
Note: Without SMTP configuration, Magic Link emails will be sent from Supabase's default server. Configure custom SMTP to ensure emails are sent from "ZENIX" as requested.