Build a Realtime Chat App with Remix and Supabase
This repo accompanies this free egghead course.
🔍 About
Supabase is a collection of open-source tools that wrap around a PostgreSQL database. In this course, we look at building a realtime chat application with Remix, using Supabase for db hosting, authentication, authorization and subscribe to realtime db events - updating the UI as the database changes.
We will learn about:
- loaders and actions in Remix
- querying and mutating data with Supabase
- authentication with GitHub
- authorization with RLS
- merging client and server state with realtime events
- deploying a Remix app to Vercel
This course is 100% TypeScript, however, don't stress if you don't have any experience with TS, as Supabase does most of the heavy lifting here!
Check out the Extensions section for ideas of how you can continue your learning journey after this course.
🎓 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! He is currently working as a Developer Advocate at Supabase, showing just how awesome (and not that scary
Follow Jon Meyers on Twitter and subscribe to his YouTube channel.
🗺 Table of Contents
- Create Supabase project
- Create Remix application
- Query Supabase data with Remix Loaders
- Generate TypeScript types from Supabase CLI
- Implement Supabase Auth using GitHub
- Restrict access with RLS policies
- Automatically set session cookie with Supabase Auth Helpers
- Call active Loaders on Supabase Auth state change
- Mutate Supabase data with Remix Actions
- Subscribe to database changes with Supabase Realtime
- Deploy Remix app to Vercel