PlayedStatusNameDateDurationCourse
Pagination Slots Conclusion 3/5/2020 1:40 Advanced Components: Slots IV ...
Nested Slots 3/5/2020 10:45 Advanced Components: Slots IV ...
Intro and Preview of Pagination Component Customization 3/5/2020 2:17 Advanced Components: Slots IV ...
The per-page-button Slot 3/5/2020 6:30 Advanced Components: Slots IV ...
The pagination-button Slot 3/5/2020 10:07 Advanced Components: Slots IV ...
Pagination within GitHub's API 2/27/2020 5:55 Advanced Components: Building ...
Calculating and Displaying the Correct Number of Pages 2/27/2020 5:06 Advanced Components: Building ...
Query Params - Saving Page Number 2/27/2020 5:21 Advanced Components: Building ...
Multiple Query Params 2/27/2020 6:24 Advanced Components: Building ...
Changing # of Results Per Page 2/27/2020 8:43 Advanced Components: Building ...
Active and Disabled States - Styling and Guardrails to Help the User 2/27/2020 3:43 Advanced Components: Building ...
Using Pagination with Preloaded Data 2/27/2020 5:47 Advanced Components: Building ...
Conclusion 2/27/2020 1:36 Advanced Components: Building ...
Intro + Preview for the Pagination Component 2/27/2020 2:59 Advanced Components: Building ...
Pagination Bar Mockup 2/27/2020 5:38 Advanced Components: Building ...
Exercise 0 - Raising Github API Rate Limit (updated) 2/22/2020 2:36 Advanced Components: Slots II ...
Debouncing API Calls (updated) 2/22/2020 5:12 Advanced Components - Slots II...
Exercise 1 Solution 2/20/2020 1:07 Advanced Components - Slots II...
The Basic DataLoader Component 2/20/2020 9:00 Advanced Components - Slots II...
Exercise 1 - Custom Authentication 2/20/2020 0:42 Advanced Components - Slots II...
Exercise 2 - Spinner Plus 2/20/2020 1:37 Advanced Components - Slots II...
The Error State 2/20/2020 3:41 Advanced Components - Slots II...
DataLoader Component Conclusion 2/20/2020 1:10 Advanced Components - Slots II...
Why Build a DataLoader Component? 2/20/2020 2:41 Advanced Components - Slots II...
The Loading State 2/20/2020 3:29 Advanced Components - Slots II...
Exercise 2 Solution 2/20/2020 1:26 Advanced Components - Slots II...
Intro to Dynamic Slots 2/13/2020 2:02 Advanced Components: Slots II ...
Tour of the Starting Code - A Table for Github Projects 2/13/2020 5:25 Advanced Components: Slots II ...
Exercise 1 - Head and Foot slots 2/13/2020 1:58 Advanced Components: Slots II ...
Slots for Table Rows 2/13/2020 4:51 Advanced Components: Slots II ...
Solution to Head and Foot Slots Exercise 2/13/2020 1:12 Advanced Components: Slots II ...
Column Slots 2/13/2020 3:14 Advanced Components: Slots II ...
Dynamic Column Slots 2/13/2020 5:37 Advanced Components: Slots II ...
Exercise 2 - Dynamic Head and Foot Slots 2/13/2020 3:01 Advanced Components: Slots II ...
Answer to Exercise 2 - Dynamic Head and Foot Slots 2/13/2020 4:05 Advanced Components: Slots II ...
Completely Customizable Dynamic Tables 2/13/2020 4:05 Advanced Components: Slots II ...
Named Slots - how to have two slots in one component 2/7/2020 3:20 Advanced Components - Slots I
Exercise 4 - Half-Filled, Again 2/7/2020 0:23 Advanced Components - Slots I
Exercise 5 - Feature Parity 2/7/2020 0:49 Advanced Components - Slots I
Basic Slots 2/7/2020 3:41 Advanced Components - Slots I
Conclusion 2/7/2020 0:59 Advanced Components - Slots I
Exercise 2 Answer 2/7/2020 1:42 Advanced Components - Slots I
Exercise 1 Answer 2/7/2020 0:59 Advanced Components - Slots I
Exercise 3 - Max Rating 2/7/2020 0:36 Advanced Components - Slots I
Exercise 2 - Rounded Ratings 2/7/2020 0:27 Advanced Components - Slots I
VSRating Component 2/7/2020 2:58 Advanced Components - Slots I
Introduction - Why Active Learning, and how to set up for the exercises (setting up is easy) 2/7/2020 2:35 Advanced Components - Slots I
Exercise 1 - Half-filled Slot 2/7/2020 1:59 Advanced Components - Slots I
Scoped Slots and Slot Props 2/7/2020 5:09 Advanced Components - Slots I
Exercise 5 Answer 2/7/2020 0:28 Advanced Components - Slots I
Comparing Solutions 2/7/2020 3:20 Advanced Components - Slots I
The Let Component 2/7/2020 3:28 Advanced Components - Slots I
Exercise 3 Answer 2/7/2020 0:33 Advanced Components - Slots I
Exercise 4 Answer 2/7/2020 1:27 Advanced Components - Slots I
Exercise 6 - Double Let 2/7/2020 0:29 Advanced Components - Slots I
Exercise 6 Answer 2/7/2020 1:51 Advanced Components - Slots I
CRUD for Admin page -- normalizing data for Mirage Post and Put 1/31/2020 11:32 Mirage with Nuxt
Mirage and the Mark Played button 1/31/2020 2:22 Mirage with Nuxt
Removing Tags from Mirage 1/31/2020 1:06 Mirage with Nuxt
Mirage Route Shorthands 1/31/2020 1:49 Mirage with Nuxt
Data Relationships in MirageJS 1/31/2020 5:06 Mirage with Nuxt
More Data Relationships in Mirage 1/31/2020 9:33 Mirage with Nuxt
Fixing Data Discrepancies between server and Mirage 1/31/2020 5:56 Mirage with Nuxt
Loading Data Once with Middleware - working with Mirage and SPA Mode 1/31/2020 5:52 Mirage with Nuxt
MirageJS Endpoints for Nuxt Auth 1/31/2020 13:56 Mirage with Nuxt
Mocking S3 Uploads with Mirage 1/31/2020 4:08 Mirage with Nuxt
Mirage + Nuxt Conclusion (for now) 1/31/2020 1:10 Mirage with Nuxt
Mirage Serializer's keyForAttribute 1/30/2020 5:03 Mirage with Nuxt
Vuex Strict Mode - Making the SnackBar Work 1/30/2020 4:00 Vuex Strict Mode Mutations: An...
Mirage with Nuxt - a Warning about Universal Mode 1/26/2020 1:53 Mirage with Nuxt
Nuxt + Mirage - From Install to first API Endpoint 1/26/2020 10:34 Mirage with Nuxt
Intro to Mirage with Nuxt 1/26/2020 2:03 Mirage with Nuxt
Review/Conclusion of Vuex Strict Mode 1/25/2020 1:02 Vuex Strict Mode Mutations: An...
Turn Off Vuex Strict Mode in Production 1/25/2020 2:25 Vuex Strict Mode Mutations: An...
Better Forms with the Changeset Pattern, Part 2 1/24/2020 1:34 Vuex Strict Mode Mutations: An...
Fixing Two Mutation Bugs 1/24/2020 5:57 Vuex Strict Mode Mutations: An...
Better Forms with the Changeset Pattern, Part 1 1/21/2020 4:01 Vuex Strict Mode Mutations: An...
Tempting Anti-Pattern for Vuex Strict Mode 1/21/2020 4:17 Vuex Strict Mode Mutations: An...
What is Vuex Strict Mode? 1/21/2020 2:07 Vuex Strict Mode Mutations: An...
Improving Vuex Action and Mutation Names 1/20/2020 3:24 Adjusting our Aim
Removing Tags 1/20/2020 6:49 Adjusting our Aim
Adjusting Our Aim - Intro 1/19/2020 1:01 Adjusting our Aim
Intro to Vuex and the Server 12/18/2019 4:01 Vuex: Loading data using axios...
Finishing up MirageJS in our vanilla Vue app 11/30/2019 5:02 Replicating an API with MirageJS
Authentication in MirageJS 11/30/2019 4:16 Replicating an API with MirageJS
Post, Put, and Delete in MirageJS 11/30/2019 2:17 Replicating an API with MirageJS
JSONAPI Relationships in Mirage 11/30/2019 2:19 Replicating an API with MirageJS
JSONAPI: Models, Serializers, and Shorthands 11/30/2019 2:17 Replicating an API with MirageJS
Our First Mirage Endpoint 11/30/2019 6:08 Replicating an API with MirageJS
Why Mirage? 11/30/2019 4:31 Replicating an API with MirageJS
Intro to MirageJS 11/30/2019 2:44 Replicating an API with MirageJS
Prop Definitions - Doing Them the Right Way 11/29/2019 7:40 Adjusting our Aim
Review 11/22/2019 9:31 Building Complex Data Tables w...
Dynamic Columns (abstracting VideoTable) 11/22/2019 13:46 Building Complex Data Tables w...
Custom Search and Filtering 11/22/2019 7:10 Building Complex Data Tables w...
DataTable Events 11/22/2019 7:06 Building Complex Data Tables w...
Expandable Rows 11/22/2019 4:27 Building Complex Data Tables w...
'Tags' and 'Played' Columns 11/22/2019 8:35 Building Complex Data Tables w...
VideoTable Component 11/22/2019 4:49 Building Complex Data Tables w...
Custom Sorting 11/22/2019 4:33 Building Complex Data Tables w...
Custom Item (Column) Slots 11/22/2019 6:39 Building Complex Data Tables w...
A Simple Table 11/22/2019 2:22 Building Complex Data Tables w...
Intro to Vuetify's v-data-table 11/22/2019 2:39 Building Complex Data Tables w...
Review of Uploading Files to S3 11/12/2019 5:22 Secure File Upload to S3, Dire...
Using Vuetify's v-file-input 11/12/2019 6:55 Secure File Upload to S3, Dire...
Uploading Indicator 11/12/2019 3:24 Secure File Upload to S3, Dire...
Uploading Files with aws-s3 11/12/2019 15:32 Secure File Upload to S3, Dire...
Getting S3 credentials securely from API 11/12/2019 2:55 Secure File Upload to S3, Dire...
Setting up S3 11/12/2019 4:33 Secure File Upload to S3, Dire...
Getting a file from an input 11/12/2019 5:53 Secure File Upload to S3, Dire...
Intro to Secure File Upload to S3 from VueJS 11/12/2019 2:11 Secure File Upload to S3, Dire...
Review 11/11/2019 2:39 Making our VueJS app look nicer
Installing font-awesome in Nuxt 11/11/2019 2:20 Making our VueJS app look nicer
Reinstating isPlayed and markPlayed functions 11/11/2019 9:49 Making our VueJS app look nicer
Improving the Video Watch Page 11/11/2019 2:51 Making our VueJS app look nicer
Previewing Videos wthe VideoWatch Component 11/11/2019 7:48 Making our VueJS app look nicer
Clarifying the Video Edit Page 11/11/2019 5:47 Making our VueJS app look nicer
Intro to the Making Our App Nicer chapter 11/11/2019 1:32 Making our VueJS app look nicer
Review of VueJS Slots 11/7/2019 1:49 Vue 2.6 Slots
Scoped Slots 11/7/2019 3:44 Vue 2.6 Slots
Named Slots 11/7/2019 6:08 Vue 2.6 Slots
Basic Slots 11/7/2019 3:26 Vue 2.6 Slots
Slots vs Props 11/7/2019 4:01 Vue 2.6 Slots
Intro to VueJS Slots 11/7/2019 0:56 Vue 2.6 Slots
Review and Look Ahead 11/5/2019 1:37 Markdown and Syntax Highlighti...
LivePreview Editor 11/5/2019 4:50 Markdown and Syntax Highlighti...
Code Highlighting with HighlightJS 11/5/2019 5:59 Markdown and Syntax Highlighti...
Building the MarkdownDisplay Component 11/5/2019 3:49 Markdown and Syntax Highlighti...
Displaying Markdown with marked.js 11/5/2019 3:53 Markdown and Syntax Highlighti...
Intro to Markdown and Syntax Highlighting 11/5/2019 1:15 Markdown and Syntax Highlighti...
Integrating vuetify-datetime-picker 11/4/2019 5:06 Nuxt Plugins - How to use arbi...
Creating a Nuxt Plugin 11/4/2019 5:24 Nuxt Plugins - How to use arbi...
Using Libraries in Nuxt vs in Vue 11/4/2019 1:04 Nuxt Plugins - How to use arbi...
Improving Admin Video Creation Workflow 11/3/2019 17:34 Upgrading our Video Creation a...
Review of Deploying Nuxt App to Heroku 11/1/2019 1:01 Nuxt Universal SSR Deployment ...
Deploying the Complete Nuxt App to Heroku 11/1/2019 5:16 Nuxt Universal SSR Deployment ...
Connecting Heroku App to the API Server 11/1/2019 8:09 Nuxt Universal SSR Deployment ...
Deploying a basic Nuxt app to Heroku 11/1/2019 8:16 Nuxt Universal SSR Deployment ...
Choosing a Strategy for Deploying Nuxt 11/1/2019 3:35 Nuxt Universal SSR Deployment ...
Intro to Deploying Nuxt SSR app on Heroku 11/1/2019 0:53 Nuxt Universal SSR Deployment ...
Review of Nuxt Auth 10/30/2019 3:36 Nuxt Auth: Authentication and ...
Auth Middleware 10/30/2019 4:37 Nuxt Auth: Authentication and ...
Error Handling and User Notifications 10/30/2019 4:17 Nuxt Auth: Authentication and ...
Configuring and using the loginWith function 10/30/2019 14:04 Nuxt Auth: Authentication and ...
Login and Register Pages 10/30/2019 5:19 Nuxt Auth: Authentication and ...
Installing Nuxt Auth and using $auth.user 10/30/2019 4:23 Nuxt Auth: Authentication and ...
Intro to Nuxt Auth 10/30/2019 3:48 Nuxt Auth: Authentication and ...
Moving Admin to Nuxt 10/30/2019 25:26 Moving our Admin pages to NuxtJS
Review of Nuxt + Vuex 10/20/2019 3:53 NuxtJS + Vuex: Deserialization...
Preloading, Middleware, and Promises 10/20/2019 13:19 NuxtJS + Vuex: Deserialization...
Loading Strategies for Vuex 10/20/2019 4:53 NuxtJS + Vuex: Deserialization...
Refactoring with deserializers, destructuring 10/20/2019 9:28 NuxtJS + Vuex: Deserialization...
From asyncData to Vuex (naive version) 10/20/2019 13:06 NuxtJS + Vuex: Deserialization...
Why use Vuex in Nuxt? 10/20/2019 1:57 NuxtJS + Vuex: Deserialization...
What's Next? 10/19/2019 2:46 Real-world challenges with Nux...
Building the Tags Page 10/19/2019 9:05 Real-world challenges with Nux...
Video Watch Page + mounting client libs w/SSR 10/19/2019 15:13 Real-world challenges with Nux...
Creating the Home Page, Debugging in Nuxt 10/19/2019 13:53 Real-world challenges with Nux...
Installing and using Vuetify in Nuxt 10/19/2019 4:54 Real-world challenges with Nux...
Intro to Building a Serious Nuxt App 10/19/2019 2:21 Real-world challenges with Nux...
Review of Nuxt Basics 10/14/2019 10:57 Introduction to NuxtJS
Vuex and Fetch in Nuxt 10/14/2019 9:13 Introduction to NuxtJS
Meta Tags (Great for SEO!) 10/14/2019 7:07 Introduction to NuxtJS
axios, asyncData, and one downside of SSR 10/14/2019 9:17 Introduction to NuxtJS
Navbar and Layouts 10/14/2019 9:39 Introduction to NuxtJS
Pages and Routing 10/14/2019 12:29 Introduction to NuxtJS
Exploring the Project Structure 10/14/2019 5:51 Introduction to NuxtJS
Installing Nuxt 10/14/2019 4:29 Introduction to NuxtJS
Why Nuxt? 10/14/2019 4:03 Introduction to NuxtJS
What you'll need to learn NuxtJS 10/14/2019 2:30 Introduction to NuxtJS
Refactoring all the other Vuex Modules 10/7/2019 12:19 Vuex Modules
Refactoring a Simple(ish) Vuex Module 10/7/2019 10:25 Vuex Modules
Why Refactor to Vuex Modules? 10/7/2019 0:47 Vuex Modules
Review 10/6/2019 5:02 Complete CRUD in ONE page - in...
Adding Tags, Inline (CRUD Create) 10/6/2019 7:45 Complete CRUD in ONE page - in...
Deleting Tags (CRUD Delete) 10/6/2019 4:34 Complete CRUD in ONE page - in...
Inline Editing (CRUD Update) 10/6/2019 10:28 Complete CRUD in ONE page - in...
Creating a Tags Admin Page (CRUD: READ) 10/6/2019 4:15 Complete CRUD in ONE page - in...
Intro to One-Page CRUD Tutorial 10/6/2019 1:34 Complete CRUD in ONE page - in...
Bonus - Add new tags with Vuetify's Combobox 10/4/2019 14:09 Many-to-Many relationships in ...
Review 10/4/2019 5:08 Many-to-Many relationships in ...
Adding and Removing Tags 10/4/2019 14:20 Many-to-Many relationships in ...
Why we'll be using Computed Setters 10/4/2019 3:36 Many-to-Many relationships in ...
Using v-autocomplete to show selected tags 10/4/2019 4:16 Many-to-Many relationships in ...
Creating the Video Show Page 10/4/2019 3:20 Many-to-Many relationships in ...
Intro to Connecting Tags 10/4/2019 0:52 Many-to-Many relationships in ...
Review 9/30/2019 0:44 Refactoring localstorage persi...
Saving Video Plays 9/30/2019 7:44 Refactoring localstorage persi...
Loading Video Plays 9/30/2019 10:21 Refactoring localstorage persi...
Intro to refactoring persistence to server 9/30/2019 0:30 Refactoring localstorage persi...
Review of Snackbar Notifications 9/28/2019 3:07 Notifications using Vuetify's ...
Showing Multiple Snackbars 9/28/2019 6:22 Notifications using Vuetify's ...
Our First Snackbar Notification 9/28/2019 6:23 Notifications using Vuetify's ...
App-wide Snackbar Component 9/28/2019 10:43 Notifications using Vuetify's ...
Introduction to Snackbar Notifications 9/28/2019 2:12 Notifications using Vuetify's ...
Review 9/25/2019 3:22 Authentication and Authorizati...
Token Authentication 9/25/2019 11:24 Authentication and Authorizati...
Nested Routes with Vue Router 9/25/2019 8:16 Authentication and Authorizati...
Navigation Guards 9/25/2019 5:36 Authentication and Authorizati...
Mid-Course Review for Auth 9/24/2019 7:46 Authentication and Authorizati...
Navbar Cleanup 9/24/2019 2:32 Authentication and Authorizati...
The User Registration Page 9/24/2019 7:17 Authentication and Authorizati...
UserAuthForm Component 9/24/2019 5:17 Authentication and Authorizati...
Login Form Validations 9/24/2019 6:41 Authentication and Authorizati...
Hide/Show Password 9/24/2019 6:01 Authentication and Authorizati...
Basic Login Flow - Email and Password 9/24/2019 9:29 Authentication and Authorizati...
Saving currentUser to localStorage 9/24/2019 2:29 Authentication and Authorizati...
Setting CurrentUser 9/24/2019 5:43 Authentication and Authorizati...
Displaying Users 9/24/2019 4:20 Authentication and Authorizati...
Intro to Authentication + Authorization 9/24/2019 2:31 Authentication and Authorizati...
Review of Validating Forms with Vuetify 9/20/2019 1:59 Validating Forms with Vuetify
Refactoring to a VideoEditForm Component 9/20/2019 6:36 Validating Forms with Vuetify
Validating Forms 9/20/2019 2:49 Validating Forms with Vuetify
Validating Inputs 9/20/2019 11:17 Validating Forms with Vuetify
Intro to Validating Forms with Vuetify 9/20/2019 0:34 Validating Forms with Vuetify
Review of Admin CRUD in Vuex 9/18/2019 2:15 Admin CRUD in Vuex
Edit Page, with Vuex 9/18/2019 6:47 Admin CRUD in Vuex
Deleting a record with Vuex 9/18/2019 7:24 Admin CRUD in Vuex
Admin Page (+ Filters) 9/18/2019 11:16 Admin CRUD in Vuex
Intro to Admin CRUD in Vuex 9/18/2019 0:44 Admin CRUD in Vuex
Review 9/16/2019 3:40 Video Creation Form - Text Inp...
Creating a new record, saving it to the Server 9/16/2019 6:54 Video Creation Form - Text Inp...
Using Vuetify Inputs 9/16/2019 2:40 Video Creation Form - Text Inp...
The Create Video Form 9/16/2019 7:44 Video Creation Form - Text Inp...
Introduction to Forms and Persisting Videos 9/16/2019 1:44 Video Creation Form - Text Inp...
Using the Input tag and v-model in VueJS 9/16/2019 6:35 Video Creation Form - Text Inp...
Review of Tracking Watched Videos Chapter 9/13/2019 3:09 Vuex + LocalStorage to track v...
Showing Played status on video lists 9/13/2019 2:45 Vuex + LocalStorage to track v...
Detecting End of Playback 9/13/2019 1:20 Vuex + LocalStorage to track v...
Using FontAwesome in VueJS 9/13/2019 2:52 Vuex + LocalStorage to track v...
Saving Played status to localstorage 9/13/2019 3:48 Vuex + LocalStorage to track v...
Displaying Played status from LocalStorage 9/13/2019 6:36 Vuex + LocalStorage to track v...
Introduction to Tracking Watched Videos 9/13/2019 0:28 Vuex + LocalStorage to track v...
What Is Vuetify? 9/11/2019 3:31 Vuetify: Make a VueJS app look...
Vuetifying the Tag Buttons 9/11/2019 7:06 Vuetify: Make a VueJS app look...
Getting Started with Vuetify 9/11/2019 6:20 Vuetify: Make a VueJS app look...
Vuetifying the Video Watch Page 9/11/2019 11:22 Vuetify: Make a VueJS app look...
Vuetifying the Video List with Cards 9/11/2019 15:51 Vuetify: Make a VueJS app look...
Loading Server data into Vuex 9/9/2019 10:18 Vuex: Loading data using axios...
Our First Reusable Component 9/9/2019 6:19 Vuex: Loading data using axios...
Tags Page 9/9/2019 7:15 Vuex: Loading data using axios...
Switching to JSON API 9/9/2019 5:09 Vuex: Loading data using axios...
Connecting to a REST Server 9/9/2019 8:20 Vuex: Loading data using axios...
Data Relationships with JSON API and Vuex 9/9/2019 19:11 Vuex: Loading data using axios...
Review 9/9/2019 10:33 Introduction to VueJS
Playing video with vue-video-player 9/8/2019 7:19 Introduction to VueJS
The Video Show Page (Vuex + Router Links) 9/8/2019 13:49 Introduction to VueJS
The Home Page 9/8/2019 12:17 Introduction to VueJS
Exploring the Starter Code 9/8/2019 12:27 Introduction to VueJS
Creating our app with Vue-CLI 9/8/2019 3:57 Introduction to VueJS
Intro to the Building a VueJS App series 9/8/2019 1:37 Introduction to VueJS
NameDateDuration
Pagination Slots Conclusion 3/5/2020 1:40
Nested Slots 3/5/2020 10:45
Intro and Preview of Pagination Component Customization 3/5/2020 2:17
The per-page-button Slot 3/5/2020 6:30
The pagination-button Slot 3/5/2020 10:07
Pagination within GitHub's API 2/27/2020 5:55
Calculating and Displaying the Correct Number of Pages 2/27/2020 5:06
Query Params - Saving Page Number 2/27/2020 5:21
Multiple Query Params 2/27/2020 6:24
Changing # of Results Per Page 2/27/2020 8:43
Active and Disabled States - Styling and Guardrails to Help the User 2/27/2020 3:43
Using Pagination with Preloaded Data 2/27/2020 5:47
Conclusion 2/27/2020 1:36
Intro + Preview for the Pagination Component 2/27/2020 2:59
Pagination Bar Mockup 2/27/2020 5:38
Exercise 0 - Raising Github API Rate Limit (updated) 2/22/2020 2:36
Debouncing API Calls (updated) 2/22/2020 5:12
Exercise 1 Solution 2/20/2020 1:07
The Basic DataLoader Component 2/20/2020 9:00
Exercise 1 - Custom Authentication 2/20/2020 0:42
Exercise 2 - Spinner Plus 2/20/2020 1:37
The Error State 2/20/2020 3:41
DataLoader Component Conclusion 2/20/2020 1:10
Why Build a DataLoader Component? 2/20/2020 2:41
The Loading State 2/20/2020 3:29
Exercise 2 Solution 2/20/2020 1:26
Intro to Dynamic Slots 2/13/2020 2:02
Tour of the Starting Code - A Table for Github Projects 2/13/2020 5:25
Exercise 1 - Head and Foot slots 2/13/2020 1:58
Slots for Table Rows 2/13/2020 4:51
Solution to Head and Foot Slots Exercise 2/13/2020 1:12
Column Slots 2/13/2020 3:14
Dynamic Column Slots 2/13/2020 5:37
Exercise 2 - Dynamic Head and Foot Slots 2/13/2020 3:01
Answer to Exercise 2 - Dynamic Head and Foot Slots 2/13/2020 4:05
Completely Customizable Dynamic Tables 2/13/2020 4:05
Named Slots - how to have two slots in one component 2/7/2020 3:20
Exercise 4 - Half-Filled, Again 2/7/2020 0:23
Exercise 5 - Feature Parity 2/7/2020 0:49
Basic Slots 2/7/2020 3:41
Conclusion 2/7/2020 0:59
Exercise 2 Answer 2/7/2020 1:42
Exercise 1 Answer 2/7/2020 0:59
Exercise 3 - Max Rating 2/7/2020 0:36
Exercise 2 - Rounded Ratings 2/7/2020 0:27
VSRating Component 2/7/2020 2:58
Introduction - Why Active Learning, and how to set up for the exercises (setting up is easy) 2/7/2020 2:35
Exercise 1 - Half-filled Slot 2/7/2020 1:59
Scoped Slots and Slot Props 2/7/2020 5:09
Exercise 5 Answer 2/7/2020 0:28
Comparing Solutions 2/7/2020 3:20
The Let Component 2/7/2020 3:28
Exercise 3 Answer 2/7/2020 0:33
Exercise 4 Answer 2/7/2020 1:27
Exercise 6 - Double Let 2/7/2020 0:29
Exercise 6 Answer 2/7/2020 1:51
CRUD for Admin page -- normalizing data for Mirage Post and Put 1/31/2020 11:32
Mirage and the Mark Played button 1/31/2020 2:22
Removing Tags from Mirage 1/31/2020 1:06
Mirage Route Shorthands 1/31/2020 1:49
Data Relationships in MirageJS 1/31/2020 5:06
More Data Relationships in Mirage 1/31/2020 9:33
Fixing Data Discrepancies between server and Mirage 1/31/2020 5:56
Loading Data Once with Middleware - working with Mirage and SPA Mode 1/31/2020 5:52
MirageJS Endpoints for Nuxt Auth 1/31/2020 13:56
Mocking S3 Uploads with Mirage 1/31/2020 4:08
Mirage + Nuxt Conclusion (for now) 1/31/2020 1:10
Mirage Serializer's keyForAttribute 1/30/2020 5:03
Vuex Strict Mode - Making the SnackBar Work 1/30/2020 4:00
Mirage with Nuxt - a Warning about Universal Mode 1/26/2020 1:53
Nuxt + Mirage - From Install to first API Endpoint 1/26/2020 10:34
Intro to Mirage with Nuxt 1/26/2020 2:03
Review/Conclusion of Vuex Strict Mode 1/25/2020 1:02
Turn Off Vuex Strict Mode in Production 1/25/2020 2:25
Better Forms with the Changeset Pattern, Part 2 1/24/2020 1:34
Fixing Two Mutation Bugs 1/24/2020 5:57
Better Forms with the Changeset Pattern, Part 1 1/21/2020 4:01
Tempting Anti-Pattern for Vuex Strict Mode 1/21/2020 4:17
What is Vuex Strict Mode? 1/21/2020 2:07
Improving Vuex Action and Mutation Names 1/20/2020 3:24
Removing Tags 1/20/2020 6:49
Adjusting Our Aim - Intro 1/19/2020 1:01
Intro to Vuex and the Server 12/18/2019 4:01
Finishing up MirageJS in our vanilla Vue app 11/30/2019 5:02
Authentication in MirageJS 11/30/2019 4:16
Post, Put, and Delete in MirageJS 11/30/2019 2:17
JSONAPI Relationships in Mirage 11/30/2019 2:19
JSONAPI: Models, Serializers, and Shorthands 11/30/2019 2:17
Our First Mirage Endpoint 11/30/2019 6:08
Why Mirage? 11/30/2019 4:31
Intro to MirageJS 11/30/2019 2:44
Prop Definitions - Doing Them the Right Way 11/29/2019 7:40
Review 11/22/2019 9:31
Dynamic Columns (abstracting VideoTable) 11/22/2019 13:46
Custom Search and Filtering 11/22/2019 7:10
DataTable Events 11/22/2019 7:06
Expandable Rows 11/22/2019 4:27
'Tags' and 'Played' Columns 11/22/2019 8:35
VideoTable Component 11/22/2019 4:49
Custom Sorting 11/22/2019 4:33
Custom Item (Column) Slots 11/22/2019 6:39
A Simple Table 11/22/2019 2:22
Intro to Vuetify's v-data-table 11/22/2019 2:39
Review of Uploading Files to S3 11/12/2019 5:22
Using Vuetify's v-file-input 11/12/2019 6:55
Uploading Indicator 11/12/2019 3:24
Uploading Files with aws-s3 11/12/2019 15:32
Getting S3 credentials securely from API 11/12/2019 2:55
Setting up S3 11/12/2019 4:33
Getting a file from an input 11/12/2019 5:53
Intro to Secure File Upload to S3 from VueJS 11/12/2019 2:11
Review 11/11/2019 2:39
Installing font-awesome in Nuxt 11/11/2019 2:20
Reinstating isPlayed and markPlayed functions 11/11/2019 9:49
Improving the Video Watch Page 11/11/2019 2:51
Previewing Videos wthe VideoWatch Component 11/11/2019 7:48
Clarifying the Video Edit Page 11/11/2019 5:47
Intro to the Making Our App Nicer chapter 11/11/2019 1:32
Review of VueJS Slots 11/7/2019 1:49
Scoped Slots 11/7/2019 3:44
Named Slots 11/7/2019 6:08
Basic Slots 11/7/2019 3:26
Slots vs Props 11/7/2019 4:01
Intro to VueJS Slots 11/7/2019 0:56
Review and Look Ahead 11/5/2019 1:37
LivePreview Editor 11/5/2019 4:50
Code Highlighting with HighlightJS 11/5/2019 5:59
Building the MarkdownDisplay Component 11/5/2019 3:49
Displaying Markdown with marked.js 11/5/2019 3:53
Intro to Markdown and Syntax Highlighting 11/5/2019 1:15
Integrating vuetify-datetime-picker 11/4/2019 5:06
Creating a Nuxt Plugin 11/4/2019 5:24
Using Libraries in Nuxt vs in Vue 11/4/2019 1:04
Improving Admin Video Creation Workflow 11/3/2019 17:34
Review of Deploying Nuxt App to Heroku 11/1/2019 1:01
Deploying the Complete Nuxt App to Heroku 11/1/2019 5:16
Connecting Heroku App to the API Server 11/1/2019 8:09
Deploying a basic Nuxt app to Heroku 11/1/2019 8:16
Choosing a Strategy for Deploying Nuxt 11/1/2019 3:35
Intro to Deploying Nuxt SSR app on Heroku 11/1/2019 0:53
Review of Nuxt Auth 10/30/2019 3:36
Auth Middleware 10/30/2019 4:37
Error Handling and User Notifications 10/30/2019 4:17
Configuring and using the loginWith function 10/30/2019 14:04
Login and Register Pages 10/30/2019 5:19
Installing Nuxt Auth and using $auth.user 10/30/2019 4:23
Intro to Nuxt Auth 10/30/2019 3:48
Moving Admin to Nuxt 10/30/2019 25:26
Review of Nuxt + Vuex 10/20/2019 3:53
Preloading, Middleware, and Promises 10/20/2019 13:19
Loading Strategies for Vuex 10/20/2019 4:53
Refactoring with deserializers, destructuring 10/20/2019 9:28
From asyncData to Vuex (naive version) 10/20/2019 13:06
Why use Vuex in Nuxt? 10/20/2019 1:57
What's Next? 10/19/2019 2:46
Building the Tags Page 10/19/2019 9:05
Video Watch Page + mounting client libs w/SSR 10/19/2019 15:13
Creating the Home Page, Debugging in Nuxt 10/19/2019 13:53
Installing and using Vuetify in Nuxt 10/19/2019 4:54
Intro to Building a Serious Nuxt App 10/19/2019 2:21
Review of Nuxt Basics 10/14/2019 10:57
Vuex and Fetch in Nuxt 10/14/2019 9:13
Meta Tags (Great for SEO!) 10/14/2019 7:07
axios, asyncData, and one downside of SSR 10/14/2019 9:17
Navbar and Layouts 10/14/2019 9:39
Pages and Routing 10/14/2019 12:29
Exploring the Project Structure 10/14/2019 5:51
Installing Nuxt 10/14/2019 4:29
Why Nuxt? 10/14/2019 4:03
What you'll need to learn NuxtJS 10/14/2019 2:30
Refactoring all the other Vuex Modules 10/7/2019 12:19
Refactoring a Simple(ish) Vuex Module 10/7/2019 10:25
Why Refactor to Vuex Modules? 10/7/2019 0:47
Review 10/6/2019 5:02
Adding Tags, Inline (CRUD Create) 10/6/2019 7:45
Deleting Tags (CRUD Delete) 10/6/2019 4:34
Inline Editing (CRUD Update) 10/6/2019 10:28
Creating a Tags Admin Page (CRUD: READ) 10/6/2019 4:15
Intro to One-Page CRUD Tutorial 10/6/2019 1:34
Bonus - Add new tags with Vuetify's Combobox 10/4/2019 14:09
Review 10/4/2019 5:08
Adding and Removing Tags 10/4/2019 14:20
Why we'll be using Computed Setters 10/4/2019 3:36
Using v-autocomplete to show selected tags 10/4/2019 4:16
Creating the Video Show Page 10/4/2019 3:20
Intro to Connecting Tags 10/4/2019 0:52
Review 9/30/2019 0:44
Saving Video Plays 9/30/2019 7:44
Loading Video Plays 9/30/2019 10:21
Intro to refactoring persistence to server 9/30/2019 0:30
Review of Snackbar Notifications 9/28/2019 3:07
Showing Multiple Snackbars 9/28/2019 6:22
Our First Snackbar Notification 9/28/2019 6:23
App-wide Snackbar Component 9/28/2019 10:43
Introduction to Snackbar Notifications 9/28/2019 2:12
Review 9/25/2019 3:22
Token Authentication 9/25/2019 11:24
Nested Routes with Vue Router 9/25/2019 8:16
Navigation Guards 9/25/2019 5:36
Mid-Course Review for Auth 9/24/2019 7:46
Navbar Cleanup 9/24/2019 2:32
The User Registration Page 9/24/2019 7:17
UserAuthForm Component 9/24/2019 5:17
Login Form Validations 9/24/2019 6:41
Hide/Show Password 9/24/2019 6:01
Basic Login Flow - Email and Password 9/24/2019 9:29
Saving currentUser to localStorage 9/24/2019 2:29
Setting CurrentUser 9/24/2019 5:43
Displaying Users 9/24/2019 4:20
Intro to Authentication + Authorization 9/24/2019 2:31
Review of Validating Forms with Vuetify 9/20/2019 1:59
Refactoring to a VideoEditForm Component 9/20/2019 6:36
Validating Forms 9/20/2019 2:49
Validating Inputs 9/20/2019 11:17
Intro to Validating Forms with Vuetify 9/20/2019 0:34
Review of Admin CRUD in Vuex 9/18/2019 2:15
Edit Page, with Vuex 9/18/2019 6:47
Deleting a record with Vuex 9/18/2019 7:24
Admin Page (+ Filters) 9/18/2019 11:16
Intro to Admin CRUD in Vuex 9/18/2019 0:44
Review 9/16/2019 3:40
Creating a new record, saving it to the Server 9/16/2019 6:54
Using Vuetify Inputs 9/16/2019 2:40
The Create Video Form 9/16/2019 7:44
Introduction to Forms and Persisting Videos 9/16/2019 1:44
Using the Input tag and v-model in VueJS 9/16/2019 6:35
Review of Tracking Watched Videos Chapter 9/13/2019 3:09
Showing Played status on video lists 9/13/2019 2:45
Detecting End of Playback 9/13/2019 1:20
Using FontAwesome in VueJS 9/13/2019 2:52
Saving Played status to localstorage 9/13/2019 3:48
Displaying Played status from LocalStorage 9/13/2019 6:36
Introduction to Tracking Watched Videos 9/13/2019 0:28
What Is Vuetify? 9/11/2019 3:31
Vuetifying the Tag Buttons 9/11/2019 7:06
Getting Started with Vuetify 9/11/2019 6:20
Vuetifying the Video Watch Page 9/11/2019 11:22
Vuetifying the Video List with Cards 9/11/2019 15:51
Loading Server data into Vuex 9/9/2019 10:18
Our First Reusable Component 9/9/2019 6:19
Tags Page 9/9/2019 7:15
Switching to JSON API 9/9/2019 5:09
Connecting to a REST Server 9/9/2019 8:20
Data Relationships with JSON API and Vuex 9/9/2019 19:11
Review 9/9/2019 10:33
Playing video with vue-video-player 9/8/2019 7:19
The Video Show Page (Vuex + Router Links) 9/8/2019 13:49
The Home Page 9/8/2019 12:17
Exploring the Starter Code 9/8/2019 12:27
Creating our app with Vue-CLI 9/8/2019 3:57
Intro to the Building a VueJS App series 9/8/2019 1:37