Build a SaaS product using Next.js, Supabase and Stripe
This repo accompanies this free egghead course.
🔍 About
For your frontend, this application will be using Next.js and Tailwind CSS. You will learn how to maneuver around an app and build a strong static pricing page.
For your backend AND authentication, we will make use of Supabase. Supabase is open source and is all of the backend services that you will need to build your site. It includes a dedicated and scalable Postgres database and user management with Row Level Security!
Lastly, for payments, you will be using Stripe. It will be an individual payment checkout system that will create and update users' subscriptions.
Jon will take you through all of this and more in just 1 hour and 10 minutes!
🎓 Instructor
Jon Meyers is a Software Engineer, Educator and Hip Hop Producer from Melbourne, Australia. He's passionate about web development and enabling others to build amazing things!
Enjoyed the course? Follow Jon on Twitter and subscribe to his YouTube channel.
🗺 Table of Contents
- Create a Supabase Project
- Create a Table in Supabase
- Create a Next.js App with Tailwind CSS
- Query Data From Supabase Using Next.js
- Use Next.js to Query a Single Record From Supabase
- Implement Third Party Authentication with GitHub in Next.js Using Supabase
- Add Relationships Between Tables in Supabase Using Foreign Keys
- Use Postgres Functions to Implement Database Logic with Supabase
- Use Supabase to Subscribe to Database Events with Postgres Triggers
- Create a Stripe Customer with Next.js API Routes
- Generate a Custom API Key to Secure an API Route in Next.js
- Automatically Create a Stripe Customer for Each User with Supabase Function Hooks
- Make User State Globally Accessible in Next.js with React Context and Providers
- Implement Authorization Using Row Level Security and Policies
- Implement Gated Content Using Row Level Security with Supabase
- Use Stripe.js to Query Product Data and Pre-Render with Next.js
- Create Shared Nav Bar in Next.js with _app.js
- Query Dynamic Supabase Data in Static Pages Using Next.js
- Pass Supabase Session Cookie to API Route to Identify User
- Charge Customer for Stripe Subscription in Next.js
- Subscribe to Stripe Webhooks Using Next.js API Routes
- Use the Supabase Service Key to Bypass Row Level Security
- Create a Client Page that Requires Authentication in Next.js Using getServerSideProps
- Allow Customer to Manage Their Subscription with Stripe Customer Portal
- Subscribe the UI to Database Changes with Supabase Real-Time
- Configure Stripe for Production and Deploy Next.js Application with Vercel