Skip to content

Feature/join waitlist - #21

Merged
patel-aaryan merged 15 commits into
mainfrom
feature/join-waitlist
Nov 1, 2026
Merged

patel-aaryan merged 15 commits into
mainfrom
feature/join-waitlist

Conversation

@joc31yn

@joc31yn joc31yn commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Closes Issue

closes #20

Changes Made

  • Added a public POST /api/waitlist endpoint that accepts an email and returns the same success response for new and duplicate addresses, so it can't be used to enumerate subscribers
  • Added WaitlistService to trim, lowercase and validate emails (length and format) before they reach the database
  • Added WaitlistRepository that calls a join_waitlist Postgres function
  • Added a db-migrate migration (up and down) that creates the waitlist table with RLS enabled and revokes direct table access from app_public. A SECURITY DEFINER function join_waitlist handles inserts with ON CONFLICT DO NOTHING, and only app_public can execute it
  • Added joinWaitlist client helper and wired it into WaitlistModal
  • Allowed /api/waitlist through the coming-soon proxy so it works for signed-out visitors
  • Added a React Email confirmation template, sent only for newly added emails. Attached is the template I made w AI.

Additional Notes/Screenshots/Videos (Optional)

  • Run the migration before testing: npm run migrate (up). Rolling back with down drops the waitlist table and its data
  • The public role has no direct access to the table. It can only call join_waitlist
image

@joc31yn
joc31yn requested a review from a team as a code owner October 22, 2026 22:50
@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cxc Ready Ready Preview Nov 1, 2026 3:47pm UTC

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

🚦 Quality Gate Report

📊 Check Results

Check Status Details
🔍 Linting ✅ Passed ESLint code quality checks
🔒 Type Checking ✅ Passed TypeScript type safety
🏗️ Build ✅ Passed Production build verification

✅ All Checks Passed!

Your code meets all quality standards and is ready to merge! 🎉


📝 Run Details

@github-actions

Copy link
Copy Markdown

🚀 Preview deployment ready —

Comment thread server/waitlist/waitlist.mailer.ts Resolved
Comment thread app/api/waitlist/route.ts Resolved
Comment thread app/api/waitlist/route.ts Resolved
Comment thread server/waitlist/waitlist-email.theme.ts Resolved
Comment thread server/waitlist/waitlist.service.ts Resolved

@patel-aaryan patel-aaryan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aside from the comment cleanup and small nits: this looks great

Comment thread server/email/templates/email-layout.tsx Resolved
Comment thread server/email/templates/email-layout.tsx Resolved
Comment thread server/shared/rate-limit.ts Resolved
Comment thread server/email/email.service.ts Resolved
Comment thread server/email/email.service.ts Resolved
Comment thread server/waitlist/waitlist.service.ts Resolved
joc31yn and others added 4 commits November 1, 2026 10:42
Co-authored-by: Aaryan Patel <86172867+patel-aaryan@users.noreply.github.com>
Co-authored-by: Aaryan Patel <86172867+patel-aaryan@users.noreply.github.com>
Co-authored-by: Aaryan Patel <86172867+patel-aaryan@users.noreply.github.com>
Co-authored-by: Aaryan Patel <86172867+patel-aaryan@users.noreply.github.com>
Co-authored-by: Aaryan Patel <86172867+patel-aaryan@users.noreply.github.com>
@patel-aaryan
patel-aaryan merged commit 09c2560 into main Nov 1, 2026
7 checks passed
@patel-aaryan
patel-aaryan deleted the feature/join-waitlist branch November 1, 2026 16:21
patel-aaryan pushed a commit to uw-datasci/nexus-docs that referenced this pull request Nov 1, 2026

This branch was successfully deployed

1 active deployment
Preview — 427e0370 Deployed Nov 1, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Landing: Join Waiting List

2 participants