implementation of a newsletter subscription based on Next.js, Resend and Supabase Starter Kit and server actions.
In this implementation the user must confirm the subscription by clicking on the link sent to the email address.
create a new project on [Supabase](https://app.supabase.io) and add a new table called `subscribers` with the following columns: email, active (boolean),
when the user clicks on the link in the email, the active column will be set to true
- Works across the entire Next.js stack
- App Router
- Pages Router
- Middleware
- Client
- Server
- Server Actions
- Resend
- It just works!
- supabase-ssr. A package to configure Supabase Auth to use cookies
- Styling with Tailwind CSS
- Optional deployment with Supabase Vercel Integration and Vercel deploy
- Environment variables automatically assigned to Vercel project
You can view a fully working demo at https://news-letter-eight-mu.vercel.app/.
Vercel deployment will guide you through creating a Supabase account and project.
After installation of the Supabase integration, all relevant environment variables will be assigned to the project so the deployment is fully functioning.
The above will also clone the Starter kit to your GitHub, you can clone that locally and develop locally.
If you wish to just develop locally and not deploy to Vercel, follow the steps below.
-
You'll first need a Supabase project which can be made via the Supabase dashboard
-
Create a Next.js app using the Supabase Starter template npx command
npx create-next-app -e with-supabase
-
Use
cd
to change into the app's directorycd name-of-new-app
-
Rename
.env.local.example
to.env.local
and update the following:NEXT_PUBLIC_SUPABASE_URL=[INSERT SUPABASE PROJECT URL] NEXT_PUBLIC_SUPABASE_ANON_KEY=[INSERT SUPABASE PROJECT API ANON KEY]
Both
NEXT_PUBLIC_SUPABASE_URL
andNEXT_PUBLIC_SUPABASE_ANON_KEY
can be found in your Supabase project's API settings -
You can now run the Next.js local development server:
npm run dev
The starter kit should now be running on localhost:3000.
Check out the docs for Local Development to also run Supabase locally.