Supabase Essential Training
3h 43mIntermediate2024-11-25
Authors

Joseph LeBlanc
Course details
Build the back end engine for your next startup idea faster than you ever thought possible. In this intermediate course for software engineers, instructor Joseph LeBlanc shows you how to create a flexible, scalable, and secure foundation, empowering you to iterate quickly. Subscribe to database changes and update your application in real-time. Compose PostgreSQL functions as performant building blocks, then call them from anywhere. Secure your data with access controls and complete authentication systems. This course highlights ways you can start small, then scale as your idea grows.
Learning objectives
Plan and build a complete, authenticated back end for web and mobile applications.
Construct real-time user interfaces receiving live database updates.
Explain how Row-Level Security works with authorization and use it to protect data.
Distinguish edge functions, database functions, and webhooks from each other, determining when to use each.
Develop object storage systems using buckets and identify when to move to a Content Delivery Network.
Learning objectives
Plan and build a complete, authenticated back end for web and mobile applications.
Construct real-time user interfaces receiving live database updates.
Explain how Row-Level Security works with authorization and use it to protect data.
Distinguish edge functions, database functions, and webhooks from each other, determining when to use each.
Develop object storage systems using buckets and identify when to move to a Content Delivery Network.
Skills covered
Database DevelopmentDatabase ManagementEssential TrainingSoftware Development
Concepts
0. Introduction
- 01 - Developing application back ends using Supabase
- 02 - Before taking this course
1. Getting Started
- 03 - Exploring Supabase features
- 04 - The Supabase REST API
- 05 - Access control
- 06 - Creating a Supabase instance
2. Database Foundations
- 07 - Relational database management systems
- 08 - SQL queries
- 09 - Exploring PostgreSQL features
- 10 - Custom PostgreSQL functions
3. Structuring Tables
- 11 - Table columns
- 12 - Table options
- 13 - Creating tables in the dashboard
- 14 - Enum fields
- 15 - Views
- 16 - Querying with the JavaScript client
4. Authentication and Authorization
- 17 - Authentication vs. authorization
- 18 - Authorize data
- 19 - Supabase authentication methods
- 20 - Email SMTP configuration
- 21 - Email authentication
- 22 - Discord authentication
5. File Storage
- 23 - Storage buckets
- 24 - Creating storage buckets
- 25 - Storage settings
- 26 - Bucket configuration
- 27 - Uploading small files
- 28 - Uploading large files
- 29 - Supabase storage vs. content delivery networks
6. Database Functions
- 30 - PGSQL functions
- 31 - Writing functions
- 32 - Calling functions through RPC
- 33 - Roles
- 34 - Refactoring
7. Database Triggers
- 35 - Triggers
- 36 - Writing trigger functions
- 37 - Debugging triggers
- 38 - Unit tests
8. Realtime
- 39 - Realtime event types
- 40 - Publishing database changes
- 41 - Broadcasting events
- 42 - Presence state
- 43 - Realtime authorization
9. Edge Functions and Webhooks
- 44 - Edge functions
- 45 - Webhooks
- 46 - Supabase CLI
- 47 - Deploying edge functions
10. Local Development
- 48 - When to use Docker
- 49 - When to use a second Supabase instance
- 50 - Running Supabase in Docker
- 51 - Feature comparison
- 52 - Generating TypeScript types
11. Migrations and Seeds
- 53 - Why use migrations and seeds
- 54 - Creating migrations
- 55 - Creating seeds
- 56 - Squashing migrations
- 57 - Pushing database changes
12. Monitoring
- 58 - Why monitor Supabase
- 59 - Security Advisor
- 60 - Performance Advisor
- 61 - Reading reports
- 62 - Logs
Conclusion
- 63 - Next steps