[Supabase](http://supabase.com?utm_source=egghead&utm_campaign=remix) 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! 🎉
Overview
Syllabus
- Create a Supabase Project with a Table and Example Data
- Setting Up a Remix Project
- Query Supabase Data with Remix Loaders
- Generate TypeScript Type Definitions with the Supabase CLI
- Implement Authentication for Supabase with OAuth and Github
- Restrict Access to the Messages Table in a Database with Row Level Security (RLS) Policies
- Make Cookies the User Session Single Source of Truth with Supabase Auth Helpers
- Keep Data in Sync with Mutations Using Active Remix Loader Functions
- Securely Mutate Supabase Data with Remix Actions
- Subscribe to Database Changes with Supabase Realtime
- Deploy a Remix Application to Vercel from a GitHub Repository
Taught by
Jon Meyers