Supabase & Vue 3 (With Quasar & Pinia)

Posted By: ELK1nG

Supabase & Vue 3 (With Quasar & Pinia)
Published 1/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.43 GB | Duration: 6h 21m

Connect a Vue 3 & Quasar app to Supabase: with Auth, RLS, Database Functions, Storage, Edge Functions & Local Supabase

What you'll learn

How to connect a Quasar 2 app to a Supabase backend

Add full Realtime CRUD capabilities: Read, Insert, Update, Delete & Realtime

Add Supabase Authentication so your users can Register, Login & Log out

Add Security with Navigation Guards & Supabase Row Level Security & Policies

Add Supabase Storage so your users can upload an avatar (& display it in the app)

How to run Supabase Locally & How to Push Local Changes to the Live Instance

How to create Supabase Edge Functions

How to get the finished app built & working for Web, iOS, Android, Mac & Windows

Requirements

Basic understanding of Vue 3, Quasar, Pinia & JavaScript

Description

In this course, you'll learn how to connect a Quasar 2 app (with Vue 3 & Pinia) to a Supabase backend.You'll start by downloading and launching the course app, Moneyballs (from my course Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia).You'll connect Moneyballs to a Supabase Database and add full CRUD capabilities for one user:Read and display Entries from SupabaseAdd EntryDelete EntryUpdate EntryReorder EntriesRealtime UpdatesYou'll then create an Auth page where a user can login & register and setup Supabase Authentication:Register UserLogout UserLogin UserListen for Auth ChangesRedirect the User on Login & LogoutYou'll then add support for Multiple Users and add security to the app:Navigation GuardsSupabase Row Level Security (RLS) & PoliciesNext you'll learn about Database Functions & Triggers, you will:Create a Database Function which keeps track of the total number of entries created with MoneyballsLearn how to fire the Database Function straight from MoneyballsCreate a Trigger which fires this Database Function (automatically) every time any user adds a new entryYou'll learn about Supabase Storage, you will:Create an Avatars Storage BucketAllow each user to upload an AvatarDisplay the Avatar within MoneyballsNext you'll learn how to take your entire Supabase instance and run it locally, you'll:Install Supabase locallyImport all Database Tables & Data from the Live Supabase instanceLearn how to make changes to the Database locallyLearn how to push these changes to the Live instanceYou'll then learn about Edge Functions, you will:Create an Edge Function (locally) which displays a random greeting to the userAccess Auth and the Database in the Edge Function, so that we can display the user's total number of entries in the greetingDeploy the local Edge Function to the Live Supabase instanceFinally, you'll build the app for production and get it working on 5 platforms:Web browseriOSAndroidMacWindowsFor this course, I recommend:Having completed my course Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia)Using a MacHaving a basic understanding of Vue 3 (Composition API), Quasar, Pinia & JavaScript

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Editor & Software Setup

Lecture 3 Chrome & Vue Devtools

Lecture 4 Install Course App: Moneyballs

Lecture 5 Moneyballs Overview

Lecture 6 Download Source Code

Section 2: Supabase: Introduction & Setup

Lecture 7 Introduction to Supabase

Lecture 8 Supabase vs Firebase

Lecture 9 Create a Supabase Project

Lecture 10 Install Supabase & Setup Environment Variables

Lecture 11 Setup Supabase Database

Lecture 12 Download Source Code

Section 3: Display Entries in Realtime

Lecture 13 Get Entries Store Ready for Supabase

Lecture 14 Display Entries from Supabase

Lecture 15 Handle Errors

Lecture 16 Get Realtime Updates

Lecture 17 Realtime: Insert

Lecture 18 Realtime: Delete

Lecture 19 Realtime: Update

Lecture 20 Add a Loading Screen

Lecture 21 Download Source Code

Section 4: Add, Delete & Update Entries on Supabase

Lecture 22 Add Entry

Lecture 23 Delete Entry

Lecture 24 Update Entry

Lecture 25 Update Entry: Improve Performance

Lecture 26 Update Entry: Handle Errors

Lecture 27 Download Source Code

Section 5: Order & Reorder Entries

Lecture 28 Order Entries

Lecture 29 Add Order Number to New Entry

Lecture 30 Add Order Number for First Entry Added

Lecture 31 Update Order Numbers on Sort (Local)

Lecture 32 Update Order Numbers on Sort (Supabase)

Lecture 33 Download Source Code

Section 6: Auth Page (Register & Login)

Lecture 34 Auth Page - Setup Layout, Page & Route

Lecture 35 Add a Card & Title

Lecture 36 Add Tabs for Login & Register

Lecture 37 Add the Form Elements

Lecture 38 Check Form in Dark Mode

Lecture 39 Dynamic Submit Button

Lecture 40 Hook Up the Form Fields

Lecture 41 Handle Form Submit

Lecture 42 Basic Validation & Error Dialog

Lecture 43 Handle Submit Success

Lecture 44 Redirect Back to Entries Page

Lecture 45 Download Source Code

Section 7: Authentication

Lecture 46 Supabase Authentication & Auth Store

Lecture 47 Register User

Lecture 48 Logout User

Lecture 49 Login User

Lecture 50 Listen for Auth Changes

Lecture 51 Store User’s Email & User ID

Lecture 52 Improve Logout Button

Lecture 53 Redirect User on Auth Change

Lecture 54 Download Source Code

Section 8: Multiple Users

Lecture 55 Restructure Database for Multiple Users

Lecture 56 Load Current User’s Entries

Lecture 57 Subscribe to Current User’s Entries

Lecture 58 Include User Id when User Adds Entry

Lecture 59 Clear Entries array in State when user logs out

Lecture 60 Unsubscribe from Entries

Lecture 61 Download Source Code

Section 9: Security: Navigation Guards

Lecture 62 Add a Router Boot File

Lecture 63 Add Navigation Guard Restrictions

Lecture 64 Download Source Code

Section 10: Security: Row Level Security & Policies

Lecture 65 Poor Security Demonstration

Lecture 66 Secure Data with RLS & Policies

Lecture 67 SELECT Policy (RLS)

Lecture 68 INSERT Policy (RLS)

Lecture 69 DELETE Policy (RLS)

Lecture 70 UPDATE Policy (RLS)

Lecture 71 Fix the UPSERT Issue

Lecture 72 Download Source Code

Section 11: Database Functions & Triggers

Lecture 73 What are Database Functions?

Lecture 74 Add Entries Count Banner to Auth Page

Lecture 75 Add Stats Table (with Entries Count)

Lecture 76 Create a Function to Increment Entries Count

Lecture 77 Fire the Function from our App

Lecture 78 Create a Trigger to Fire Function

Lecture 79 Display the Entries Count

Lecture 80 Fade in the Entries Count Banner

Lecture 81 Download Source Code

Section 12: Supabase Storage

Lecture 82 Create Avatars Bucket

Lecture 83 Storage Folders

Lecture 84 Storage Policies

Lecture 85 Settings - Add Profile Section & Avatar Upload

Lecture 86 Upload Avatar - Part 1

Lecture 87 Upload Avatar - Part 2

Lecture 88 Create a Profiles Table

Lecture 89 Save Filename to Profiles Table

Lecture 90 Get Avatar URL

Lecture 91 Display the Avatar

Lecture 92 Get Working for Different Users

Lecture 93 Download Source Code

Section 13: Run Supabase Locally

Lecture 94 Install & Configure Docker

Lecture 95 Install Supabase Locally

Lecture 96 Import Tables

Lecture 97 Import Data

Lecture 98 Connect to Local Supabase Instance & Setup Local Environment Variables

Lecture 99 Get Realtime Working Locally

Lecture 100 Local Avatar Images

Lecture 101 Add a User Bio Field

Lecture 102 Save the Bio to the Profiles Table

Lecture 103 getProfile Action

Lecture 104 Push Local Changes to Live

Lecture 105 Download Source Code

Section 14: Edge Functions

Lecture 106 Create Hello World Edge Function

Lecture 107 Deploy Hello World Edge Function

Lecture 108 Create a Greeting Function

Lecture 109 Create showGreeting Action

Lecture 110 Fix the CORS Issue

Lecture 111 Display the Greeting

Lecture 112 Access Database in Edge Function

Lecture 113 Access Auth & User in Edge Function

Lecture 114 Get The User’s Entries Count

Lecture 115 Deploy Edge Function

Lecture 116 Download Source Code

Section 15: Platforms

Lecture 117 Web

Lecture 118 iOS

Lecture 119 Android

Lecture 120 Mac

Lecture 121 Windows

Lecture 122 Finished Source Code

Section 16: Bonus Lectures

Lecture 123 Bonus Lecture

Vue 3 & Quasar Developers looking to create a backend for their Cross-Platform App with Supabase