Quasar V1: Pwa (With Vue Js 2, Firebase, Nodejs & Express) - Printable Version +- Softwarez.Info - Software's World! (https://softwarez.info) +-- Forum: Library Zone (https://softwarez.info/Forum-Library-Zone) +--- Forum: Video Tutorials (https://softwarez.info/Forum-Video-Tutorials) +--- Thread: Quasar V1: Pwa (With Vue Js 2, Firebase, Nodejs & Express) (/Thread-Quasar-V1-Pwa-With-Vue-Js-2-Firebase-Nodejs-Express) |
Quasar V1: Pwa (With Vue Js 2, Firebase, Nodejs & Express) - AD-TEAM - 12-16-2024 Quasar V1: Pwa (With Vue Js 2, Firebase, Nodejs & Express) Last updated 3/2022 MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz Language: English | Size: 7.07 GB | Duration: 14h 57m Create a Beautiful Instagram-Style Progressive Web App with Vue 2, Quasar V1, Firebase, NodeJS & Express What you'll learn How to create a beautiful Instagram clone PWA with Vue JS, Quasar & Firebase How to integrate the 5 Core PWA Features: Home Screen Installation, Precaching, Caching Strategies, Background Sync & Push Notifications How to make a PWA fully functional offline How to create a gorgeous responsive design that adapts across Mobile & Desktop How to access the device's Native Camera & Location All about Service Workers, Workbox, Firebase Cloud Firestore, Firebase Storage, NodeJS & Express and much more Requirements Basic HTML, CSS & JavaScript knowledge is required Basic VueJS knowledge is beneficial but not required A Mac for development is preferred (for testing the app on iOS) Description In this course, I'm gonna show you how to use Quasar Framework V1, Vue JS 2 and Firebase to create an amazing Progressive Web App (PWA).We're gonna create a gorgeous Instagram clone called Quasagram. In this app we can display a list of posts; each post has an image, location, caption and the date the image was taken.We can access the user's camera and take a photo, enter a caption, find the user's location and create a new post.It's gonna have a beautiful responsive design that adapts across Desktop & Mobile.We're gonna store all our data in a Firebase Cloud Firestore database.We'll store our photos in Firebase Storage.We're gonna create our own NodeJS & Express backend with several different endpoints for interacting with the database.We'll incorporate all of the 5 Core PWA features:Home Screen InstallationPrecachingCaching StrategiesBackground SyncPush NotificationsWe'll get the app working on iOS, Android & all the main desktop browsers, and it'll even fall back gracefully for older browsers like Internet Explorer.You'll also learn about Service Workers, Workbox, Firebase Cloud Firestore database, Firebase Storage, NodeJS & Express and much more.By the end of this course, you'll be able to create your own Progressive Web Apps using Vue JS, Quasar Framework, Firebase, NodeJS & Express.NOTE: This course is for Quasar V1 (with Vue 2). Quasar V2 (with Vue 3) is not covered in this course. Overview Section 1: Introduction Lecture 1 Introduction & Course App: Quasagram Lecture 2 What is Quasar? Lecture 3 What is a Progressive Web App? Lecture 4 How this Course is Structured Lecture 5 My Editor & Software Setup Lecture 6 Why do we need a Backend? Section 2: Getting Started Lecture 7 Module Introduction Lecture 8 Install Node.js and Quasar CLI Lecture 9 Create & Launch a New Quasar Project (not in PWA mode yet) Lecture 10 Update: Quasar V1 Documentation Lecture 11 Folder Structure - Layouts, Pages & Routes Lecture 12 Install Vue Devtools on Chrome Lecture 13 Vue.js Basics Lecture 14 Clean up the Project Lecture 15 Developing on Android & iOS Section 3: Layout, Pages & Routes - Start building Quasagram Lecture 16 Module Introduction Lecture 17 Pages and Routes Lecture 18 Footer with Tab Navigation Lecture 19 Footer - Add Some Style Lecture 20 Footer - Change the Icon Set Lecture 21 Header - Styles Lecture 22 Header - Instagram-Style Title (Install Custom Font) Lecture 23 Desktop - Hide Footer on Larger Displays Lecture 24 Desktop - Show Navigation in Header on Larger Displays Lecture 25 Desktop - Make the Header More Desktopy on Larger Displays Lecture 26 Desktop - Constrain Content for Wider Screens Lecture 27 Finished Module Code Section 4: Design - Home Page Lecture 28 Module Introduction Lecture 29 Constrain the Page Content & Add Background Color Lecture 30 Create a List of Posts - Post Header Lecture 31 Create a List of Posts - Image Lecture 32 Create a List of Posts - Caption and Date Lecture 33 Add a Posts Array to Data Object Lecture 34 Connect the Posts Array to the View with v-for Lecture 35 Format the Date with a Filter Lecture 36 Add a Mini-Profile for Desktop Lecture 37 Hide the Mini-Profile on Mobile Lecture 38 Finished Module Code Section 5: Design - Camera Page Lecture 39 Module Introduction Lecture 40 Add a Photo Frame & Capture Button Lecture 41 Add Text Fields & Submit Button Lecture 42 Adapt the Design for Desktop Lecture 43 Setup a Data Object for the Post Data Lecture 44 Finished Module Code Section 6: Native Device Features - Camera Lecture 45 Module Introduction Lecture 46 Display Camera Feed in Photo Frame Lecture 47 getUserMedia - Browser Support and Polyfill Lecture 48 Capture the Image Lecture 49 Convert the Image to a Blob Lecture 50 Add a Fallback Image Upload Field Lecture 51 Display Fallback Image in Canvas Lecture 52 Disable Camera After Capture & When User Leaves Page Lecture 53 Finished Module Code Section 7: Native Device Features - Location Lecture 54 Module Introduction Lecture 55 Get User's Location Coordinates Lecture 56 Get Users's City & Country Names Lecture 57 Handle Errors Lecture 58 Add a Loading State Lecture 59 Hide Location Button if Geolocation Not Supported Lecture 60 Finished Module Code Section 8: Firebase - Cloud Firestore Database & Storage Lecture 61 Introduction to Firebase Lecture 62 How we're going to use Firebase Lecture 63 Create a Firebase Project Lecture 64 Cloud Firestore Database - Add Some Posts Lecture 65 Add an Image to Storage Section 9: Node.js & Express Backend Lecture 66 Module Introduction Lecture 67 Create & Launch our Backend Locally Lecture 68 Add Auto Restarting with Nodemon Lecture 69 Add a Simple Posts Endpoint Lecture 70 Deploy our Backend Server (1) - Setup Heroku Lecture 71 Deploy our Backend Server (2) - Deploy with Heroku Builds Lecture 72 If you want to use Cloud Functions Lecture 73 Finished Module Code Section 10: Get Posts Endpoint Lecture 74 Module Introduction Lecture 75 Connect to the Firestore Database Lecture 76 Posts Endpoint - Grab the Posts Lecture 77 Display the Posts on the Home Page Lecture 78 Sort Posts by Date Lecture 79 Handle Errors Lecture 80 Handle Loading Lecture 81 Show a "No Posts Yet" Fallback Lecture 82 Finished Module Code Section 11: Create Post Endpoint Lecture 83 Module Introduction Lecture 84 Add createPost Endpoint Lecture 85 Environment Variables to Manage our API URLs Lecture 86 Send the Post Data to the Endpoint Lecture 87 Parse the Form Data with Busboy Lecture 88 Store the Field Data as a Post (1) Lecture 89 Store the Field Data as a Post (2) Lecture 90 Upload the Image (1) Configure Google Cloud Storage Lecture 91 Upload the Image (2) Save the Image to the Temp Folder Lecture 92 Upload the Image (3) Upload to Google Cloud Storage & Store the Image URL Lecture 93 Add Validation Lecture 94 Handle Errors & Successes Lecture 95 Handle Loading Lecture 96 Remember to Keep an Eye on the Size of your Images in Storage Lecture 97 Finished Module Code Section 12: Assignment 1 - Database & Backend Lecture 98 Task 1 - Get the Project Running Lecture 99 Task 2 - Create a Firebase Project Lecture 100 Task 3 - Create a Cloud Firestore Database Lecture 101 Task 4 - Setup a Node.js & Express Backend Lecture 102 Task 5 - Initialize Firestore Database Lecture 103 Task 6 - Tasks Endpoint Lecture 104 Task 7 - Display Tasks in App Lecture 105 Task 8 - Create Task Endpoint (1) Lecture 106 Task 9 - Create Task Endpoint (2) Lecture 107 Task 10 - Create Task Endpoint (3) Lecture 108 Task 11 - Add a Loading Screen Section 13: PWA - Setup and Manifest File Lecture 109 PWA Introduction Lecture 110 Launch Quasagram in PWA Mode Lecture 111 Manifest File Lecture 112 Manifest Properties Lecture 113 Finished Module Code Section 14: PWA - Icons for All Devices Lecture 114 Module Introduction Lecture 115 Install Icon Genie Lecture 116 Create the Source Icon Lecture 117 Generate the Icons Lecture 118 Finished Module Code Section 15: PWA - Home Screen Installation Lecture 119 Module Introduction Lecture 120 Create the App Install Banner Lecture 121 Add an App Icon to the Banner Lecture 122 Show App Install Banner on Desktop Lecture 123 Only show App Install Banner when App Installable Lecture 124 Show Native Install Prompt if they click Yes Lecture 125 Allow the User to Hide the App Install Banner Lecture 126 Animate the App Install Banner Lecture 127 Finished Module Code Section 16: PWA - Service Workers & Workbox Lecture 128 Module Introduction Lecture 129 What is a Service Worker? Lecture 130 Service Worker Events Lecture 131 What is Workbox? Lecture 132 src-pwa Folder Lecture 133 Basic Caching & Offline Capabilities Lecture 134 Enable Custom Service Worker File Section 17: PWA - Precaching Lecture 135 Module Introduction Lecture 136 What is Precaching? Lecture 137 Enable Precache Lecture 138 Build the App for Production & Switch to Live Backend Lecture 139 Host the App on Firebase Lecture 140 Show Precaching in Live App Lecture 141 A Quicker Way to Go Online / Offline Lecture 142 Finished Module Code Section 18: PWA - Caching Strategies Lecture 143 Caching Strategies Introduction Lecture 144 What Caching Strategies Can We Use? Lecture 145 Stale While Revalidate Strategy as a Catch All for Most Requests Lecture 146 Cache First Strategy for our Google Font Lecture 147 Network First Strategy for Posts Request Lecture 148 Finished Module Code Section 19: PWA - Background Sync Lecture 149 Background Sync Introduction Lecture 150 Check for Background Sync Support Lecture 151 Create Post Background Sync Lecture 152 Redirect to Home Page if Post Created Offline Lecture 153 Display the Offline Posts (1) - Open the IndexedDB Database with IDB Lecture 154 Disable the Workbox Logs Lecture 155 Display the Offline Posts (2) - Get the Raw Request Data Lecture 156 Display the Offline Posts (3) - Get the Form Fields & Add Offline Post to Page Lecture 157 Style the Offline Posts Differently Lecture 158 Show Offline Post was Uploaded (1) - Add onSync Hook to Queue Lecture 159 Show Offline Post was Uploaded (2) - Send Message to the Client (Browser) Lecture 160 Show Offline Post was Uploaded (3) - Remove the Offline Post Styles Lecture 161 Finished Module Code Section 20: PWA - Push Notifications Lecture 162 Module Introduction Lecture 163 How Push Notifications Work Lecture 164 Create an "Enable Notifications" Banner (1) - Repurpose the App Install Banner Lecture 165 Create an "Enable Notifications" Banner (2) - Improve the Style Lecture 166 Request Notifications Permission Lecture 167 Display a Notification from Our App Lecture 168 Notification Options Lecture 169 Display a Notification Using the Service Worker Lecture 170 Notification Actions Lecture 171 Handle Notification Clicks Lecture 172 Handle Notification Closed Lecture 173 Check for Existing Push Subscription Lecture 174 Create a New Push Subscription Lecture 175 Secure the Push Subscription with Web Push (1) Lecture 176 Secure the Push Subscription with Web Push (2) Lecture 177 Store The Subscription in Cloud Firestore Database (1) Lecture 178 Store The Subscription in Cloud Firestore Database (2) Lecture 179 A Note About Push Subscriptions & Service Workers Lecture 180 Send a "New Post" Push Notification from Our Backend Server Lecture 181 If You're Using Cloud Functions (Important) Lecture 182 Listen for Push Notifications in the Service Worker Lecture 183 Display the Real Push Notification Lecture 184 Open our Home Page on Notification Click Lecture 185 Send the Open URL from the Backend Lecture 186 Finished Module Code Section 21: Desktop Browsers - Testing & Fixing Lecture 187 Module Introduction Lecture 188 Hosting the App Lecture 189 Firefox - Testing Lecture 190 Firefox - Fixing Issues Lecture 191 Safari - Testing Lecture 192 Safari - Fixing Issues Lecture 193 Testing Edge & Internet Explorer on a Mac with VirtualBox Lecture 194 Edge Lecture 195 Internet Explorer Lecture 196 Finished Module Code Section 22: Mobile - Android - Developing, Testing & Improving Lecture 197 Module Introduction Lecture 198 Developing on Android Emulator (1) - Install Android Studio Lecture 199 Developing on Android Emulator (2) - Setup Virtual Device Lecture 200 Developing on Android Emulator (3) - Launch on Android Emulator Lecture 201 Developing on Android Emulator (4) - Debugging Lecture 202 Launch Live App on Android Emulator Lecture 203 Developing on a Real Android Device Lecture 204 Fix Background Sync Issue Lecture 205 Show the Image in the Notification on Android Lecture 206 Check the Background Sync Fix Lecture 207 Finished Module Code Section 23: Mobile - iOS - Developing, Testing & Fixing Lecture 208 Module Introduction Lecture 209 Developing on iOS Simulator (1) - Install Xcode & Launch the Simulator Lecture 210 Developing on iOS Simulator (2) - Launch on iOS Simulator Lecture 211 Developing on iOS Simulator (3) - Debugging Lecture 212 How I Got Safari Simulator Debugging Working Lecture 213 Fix Footer on iOS Safari Lecture 214 Developing on a Real iOS Device Lecture 215 Fix the Camera & Post Image Button Issues Lecture 216 Finished App Code Section 24: Assignment 2 - Progressive Web Apps Lecture 217 Task 1 - Get App Running Lecture 218 Task 2 - Change Theme Color Lecture 219 Task 3 - Generate App Icons Lecture 220 Task 4 - Install App Button (1) Lecture 221 Task 5 - Install App Button (2) Lecture 222 Task 6 - Enable Precache Lecture 223 Task 7 - Caching Strategies Lecture 224 Task 8 - Background Sync (1) Lecture 225 Task 9 - Background Sync (2) Lecture 226 Task 10 - Background Sync (3) Lecture 227 Task 11 - Push Notifications - Notification Permission (1) Lecture 228 Task 12 - Push Notifications - Notification Permission (2) Lecture 229 Task 13 - Push Notifications - Create Push Subscription (1) Lecture 230 Task 14 - Push Notifications - Create Push Subscription (2) Lecture 231 Task 15 - Push Notifications - Store Push Subscription in Database Lecture 232 Task 16 - "You're subscribed!" Notification Lecture 233 Task 17 - Send Push Notification from Backend Lecture 234 Task 18 - Display Push Notification Lecture 235 Task 19 - Handle Push Notification Click Lecture 236 Task 20 - Host App on Firebase & Backend on Heroku Section 25: What Next? Lecture 237 What Next? Lecture 238 Update: Quasar V2, Vue 3 & Composition API Lecture 239 Bonus Lecture: Learn More From Me Anyone who wants to create a beautiful PWA that works on all platforms (and falls back gracefully to older/unsupportive browsers) |