We’ve reached the most important step of our Patreon page clone: showing products and taking payments! This means we’ll need to integrate with Stripe, and probably sync some data with our database using webhooks! If we do manage to go through the agenda today, we can actually go live for realsies! 😱
A lot of this worked is inspired by the Next.js Subscription Payments example: https://github.com/vercel/nextjs-subs...
But of course adapted for SvelteKit: because who wants React fatigue, amirite? 😄
🚀 Check out the app! https://johnnify.com/
💻 See the code, open-source and free: https://github.com/jmagrippis/johnnify
— COMMUNITY —
Our DISCORD SERVER 👾: / discord
— 🥳🥳🥳 —
— Agenda —
✅ What are we doing today? Membership / Subscription app?
✅ Setting up a server endpoint to handle a Stripe webhook! https://stripe.com/docs/webhooks
✅ Handle `product.created` & `product.updated`
✅ Handle `price.created` & `price.updated`
✅ Handle `customer.subscription.created`, `customer.subscription.updated` and `customer.subscription.deleted`
✅ Handle `checkout.session.completed`
✅ Let’s create some subscription products and see if they sync!
[ ] Show our membership plans in the UI!
[ ] Allow users to buy a membership with Stripe Checkout: https://stripe.com/docs/payments/chec...
— BONUS —
[ ] Allow users to manage their memberships! https://stripe.com/docs/customer-mana...
[ ] Switch to server-side auth: https://supabase.com/docs/guides/auth...
[ ] Login via Magic Link!
[ ] Forgotten password / password reset
[ ] Protected posts!
[ ] Next steps: ??? Profit?
— HAVE FUN —
No affiliations whatsoever: if I show something, you know you're hearing my unfiltered thoughts 😄
— Highlighted software —
SvelteKit: https://kit.svelte.dev/
Supabase: https://supabase.com/
Stripe: https://stripe.com/
My own website: https://magrippis.com/
Search for `@jmagrippis` to find me on socials like Instagram & Twitter! And remember our DISCORD SERVER 😉: / discord
Between the comment section and the socials, let me know *somewhere* what you’d like me to cover next 🙌