Skip to main content
CF

Master Laravel, Vue 3 & Inertia Full Stack 2023

35h 53m 40s
English
Paid

Learn Laravel together with Vue.js in this brand new, full-stack, project based course! Learn how to create a robust API in Laravel and a Single Page Application frontend in Vue.js! As with my other courses, you will start straight away with creating a project. During the course you will build a booking page, similar to very popular online booking websites! No time wasted on so called "theory". I did by best and went extra mile, to explain everything that you need to learn by practical examples. It's not one of these courses when instructor in the first 10 hours reads the documentation out loud.

Topics covered include:

from Laravel: Controllers, Eloquent, Query Scopes, Model Events, HTTP resouces.

from Vue: Vue Router, Vue Components, Vuex (global state management).

Don't waste your time and money anymore, this course is the only resource you need to get up to speed with full-stack development using Laravel Framework 6+ and Vue.js!

Requirements:
  • Good command of JavaScript fundamentals
  • Good command of PHP fundamentals, including Object Oriented Programming (a must have!)
Who this course is for:
  • PHP developers looking to learn Laravel to build APIs
  • JavaScript developers wanting to start with Vue that have PHP basics
  • Laravel developers wanting to enhance their skills by learning how to work with Vue

What you'll learn:

  • Using Vue to build a Single Page Application
  • Using Laravel to build a robust API backend for any application
  • Combining Laravel with Vue to create a powerful SPA
  • Vue/API SPA Authentication using Laravel Sanctum

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 314 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 314 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: What you Will Build and Learn in This Course?
All Course Lessons (314)
#Lesson TitleDurationAccess
1
What you Will Build and Learn in This Course? Demo
07:54
2
How to get Help?
05:51
3
The Visual Studio Code
07:12
4
Where to Find and How to Use the Course Source Code
06:42
5
Introduction to the Udemy UI
03:26
6
Setting Up for Windows! - Section Introduction
00:22
7
Windows Installing PHP
05:51
8
Windows Installing Composer
02:49
9
Windows Installing Node.js
03:04
10
Windows Installing Docker
03:07
11
Setting Up for Mac! - Section Introduction
00:32
12
MacOS Installing Homebrew
01:49
13
MacOS Installing PHP
02:28
14
MacOS Installing Composer
01:53
15
MacOS Installing Node.js
02:26
16
MacOS Installing Docker
02:42
17
Laravel, Vue & Inertia - Section Introduction
00:32
18
What is Laravel?
02:22
19
What is Vue?
01:30
20
What is Inertia?
03:04
21
Download the starter pack!
01:27
22
Creating Laravel project
03:20
23
Adding Vue and Vite to the stack
06:42
24
Configuring Inertia.js
09:04
25
Your First SPA - Section Introduction
02:12
26
Creating first pages
13:52
27
Passing data to pages
06:02
28
Layouts
05:28
29
Reactive data in Vue
05:58
30
Persistent layouts with Inertia
04:52
31
Default layouts
03:17
32
(OPTIONAL) Using linter (ESLint), jsconfig and getting most out of VSCode
08:09
33
(OPTIONAL) Advanced JS topics (arrow functions, promises, async importing etc.)
05:41
34
Working with the Database - Section Introduction
02:05
35
Laravel Debugbar & IDE Helper
06:09
36
Connecting to the Database
07:28
37
Models and Migrations
06:09
38
Working with Migrations
06:59
39
Model Factories & Seeders
11:33
40
Querying the Database
06:31
41
Querying the Database (CHALLENGE)
03:15
42
Updating and Inserting Data, Mass Assignment
08:11
43
Resource Controller and Route Model Binding
08:25
44
Vue Directives (v-for, v-bind) & Custom Components
13:48
45
Handling Forms (useForm, v-model)
14:01
46
Handling Forms in Laravel
07:08
47
Middlewares and Sharing Data with All Pages
07:43
48
Computed Data and Conditional Rendering (Displaying Flash Messages)
08:30
49
Data Validation (Back End & Front End)
10:49
50
Edit Form
10:15
51
Deleting Data
06:31
52
Laravel Route Names in Vue
09:17
53
Adding Some Style (Tailwind CSS) - Section Introduction
01:36
54
Installing and Setting Up Tailwind CSS
07:32
55
Why Tailwind CSS? Tailwind Overview
06:20
56
Basic Styling of the App (Hands on With Tailwind)
12:08
57
Custom UI Components and Grid Responsive Design
04:39
58
Listing Details (Non-Prop Attributes)
06:15
59
Custom Price Formatting Component
06:09
60
Listing Page (Getting Even Better With Responsive Design!) + Vue Named Slots
11:49
61
Styling Forms
06:54
62
Extracting Tailwind Styles Using @apply Directive
05:47
63
Edit Form Styling
01:16
64
Progress Bar Loading Indicator
04:59
65
Styling Error Messages
03:44
66
What Are We About to Build?
01:12
67
Payment Calculator Markup (Sliders)
04:51
68
Payment Calculator Logic
06:03
69
Composables - Reusable Logic in Vue (Reactive Monthly Payment)
08:24
70
Displaying Payment Next to Every Listing (Reusing Composable)
08:56
71
Adding More Composable Members (Total Paid, Total Interest)
07:54
72
Authentication & Security - Introduction
01:35
73
Authentication Controller and Routes
07:19
74
Authentication Form Markup and Basic Logic
09:20
75
Signing-In Logic - Authentication Process Explained
14:35
76
Explaining the Authentication Process
05:46
77
Getting the Currently Logged In User
07:34
78
Logging Users Out
05:19
79
CSRF Tokens
07:10
80
Protecting Routes (Authorization) - Can You Access a Specific Page?
09:47
81
User Registration Form
08:25
82
User Registration Logic & Hashing Passwords
09:50
83
Eloquent Mutators & Accessors - Hashing Password Example
09:05
84
How Hashing of The Passwords Work
04:42
85
Form Links
02:53
86
419 Errors When Logging Out
02:32
87
Database Relations & User Authorization - Introduction
01:58
88
Creating a One-to-Many Database Relationship
08:24
89
One-to-Many Connecting Models Together - the Theory
04:38
90
One-to-Many Connecting Models - Practice
08:11
91
Every New Listing Needs an Owner!
03:05
92
Model Policies - Theoretical
04:56
93
Model Policies - In Practice
13:43
94
Model Policy and Guest Users
02:49
95
Only Owners Can Edit or Delete!
02:54
96
Admin Users - Overriding Policy Implementation
08:01
97
Reading the Related Data (Using Database Relationship)
06:49
98
Data Pagination & Filtering - Introduction
01:48
99
Adding Pagination
11:13
100
Filtering Form Markup
16:52
101
Filtering JavaScript Logic
13:42
102
Filtering the Data
07:32
103
Conditional Queries in Eloquent
08:18
104
Local Query Scopes in Eloquent
06:03
105
Filtering Using Local Query Scope
04:31
106
Realtor My Account - What We're Going to Build?
01:40
107
Controller Routes Grouping
04:56
108
Showing the Realtor Listings
16:53
109
Soft Deletes (Putting Records Into Trash - To Be Restored)
10:01
110
Soft Deleting Listings
07:59
111
Filtering Using Checkboxes - The Markup
05:37
112
Vue Watchers - Filtering Using Checkboxes
08:25
113
The Debounce Function - Handling the Events Flood
05:57
114
Filtering Using Checkboxes - The Backend Part
07:49
115
Customizable Sorting - Back End
08:23
116
Customizable Sorting - Front End
09:01
117
Filtering Form - Default Values
03:17
118
My Account Section Pagination
04:10
119
Edit, Delete and Preview Buttons
11:32
120
Restoring Models
12:47
121
File Uploading - Introduction
02:07
122
File Data Model
07:14
123
Laravel Filesystem Abstraction Explained
08:06
124
Preparing for the File Uploads
10:04
125
Uploading Multiple Images (Backend Part)
06:07
126
Uploading Multiple Images (In Vue)
09:36
127
Styling the Upload Input & UX Improvement
05:58
128
File Upload Progress Indicator
03:42
129
Displaying the Uploaded Images
07:23
130
Removing Uploaded Files
06:38
131
Displaying Listing Images on the Listing Page
01:55
132
Validating Uploaded Files (Make Sure It is an Image!)
07:55
133
Counting Related Models (How Many Images We Have?)
03:02
134
Making Offers - Introduction
03:06
135
Offers Data Model and Relations
09:00
136
Offer Widget - Adding Widget in Vue
10:38
137
Making Offer - the Backend Part
13:17
138
Vue Custom Component Events (Passing Data to the Parent Component)
10:04
139
Fetching and Displaying an Existing Offer of the Current User
11:29
140
How Many Offers Were Made?
04:56
141
Offer List Page
09:02
142
Single Listing View with All The Offers
09:49
143
Accepting Offers (Single Action Controller & Loading Nested Relations)
12:43
144
Seeing Which Offer is Sold
05:07
145
Filtering Out Sold Offers (Querying Relationship Presence/Absence)
08:04
146
Simpler Way To Identify Sold Listings (Refactoring the Query Scope!)
07:29
147
No Offer Making or Changing of Listings That Are Sold!
09:02
148
UI Improvements
05:04
149
Notifications - Informing Users About What Happened - Introduction
02:04
150
Notifications Introduction & Database Setup
04:07
151
Sending Notification When Offer is Made
08:34
152
Showing the Notification Count
10:52
153
Showing an Empty State
05:31
154
Notifications List Page Backend Part
04:17
155
Notifications List Page Front End
10:34
156
Marking Notifications as Read
13:38
157
Sending Email - Introduction
02:25
158
Local Email Testing with Mailhog (in Docker)
06:10
159
Delivering Notifications via Email
05:01
160
Registered User - Email Verification Process
09:39
161
Requiring Verification on Pages & Not Verified Notice Page
05:28
162
User Verification Route
09:57
163
Resending the Verification Link (and Understanding Throttling and Cache)
06:10
164
Testing the Email Resending Process
05:23
165
What is JavaScript?
01:56
166
Using Chrome Console to Learn JavaScript
01:12
167
Variables - var, let, const
02:12
168
Primitive Data Types
03:45
169
Data Type Gotchas
05:36
170
Functions
03:01
171
Arrays
01:42
172
Objects
02:44
173
Introduction
02:27
174
Required and optional software for the course
05:06
175
MacOS specific setup
05:15
176
Windows specific setup
00:00
177
Where to find the full source code?
03:58
178
Visual Studio Code - extensions, shortcuts and tricks
07:28
179
Creating a new Laravel project using Composer
03:41
180
Setting up Vue.js application
13:18
181
Fallback route in Laravel
05:58
182
Installing and setting up Vue Router
13:03
183
HTML5 history mode in Vue Router
04:44
184
Vue component registration (global/local) and Index component
07:39
185
Router Link component and routing inside a Vue application
02:28
186
Bootstrap, styling and Laravel Mix
04:14
187
v-bind, v-bind shorthand and named Vue routes
05:25
188
Styling the navigation bar
03:24
189
Single file Vue components
04:10
190
Child components (using components in other components)
08:53
191
Component props and prop types
09:44
192
One-way data flow
05:00
193
Lifecycle hooks
06:42
194
Component state and reactivity
11:39
195
Reactivity gotchas
07:19
196
Conditional rendering (v-if)
03:59
197
List rendering and v-else
09:02
198
Computed properties
09:53
199
Component methods
13:25
200
Setting up database
06:39
201
Specified key was too long problem
02:53
202
Model and migrations
06:38
203
Model factory, database seeder and faker
12:02
204
Routes and model all() method
07:43
205
API testing in Postman
07:48
206
Using Model::find() and mandatory/optional route parameters
06:37
207
Using Model::findOrFail() and Accept header
03:34
208
JavaScript Promises explained
13:06
209
Making HTTP requests with Axios
06:47
210
CSS Flexbox and Bootstrap utility classes
02:54
211
Vue router parameters
07:06
212
Passing all object properties as props (v-bind trick)
05:58
213
Vue router links
02:28
214
Understanding CSS grid system
05:30
215
Laravel controllers
09:39
216
Resource controllers
04:24
217
API Resources
10:16
218
Availability component (horizontal forms, scoped styles)
10:38
219
Form input binding (v-model)
03:58
220
Handling DOM events in Vue
04:48
221
Laravel Debugbar (seeing what happens behind the scenes)
03:23
222
Booking model and relations
04:55
223
Seeding bookings (generating random, non overlapping time series)
13:58
224
Single Action Controller
04:45
225
Request input validation (validating data clients send to our server)
07:23
226
Eloquent Local Query Scopes
10:42
227
Returning bookable availability (HTTP response statuses)
05:18
228
Getting object availability in Vue.js
08:06
229
Displaying form errors
09:47
230
Final touches - displaying availability
03:41
231
ReviewList component markup (using responsive grid options)
11:58
232
Review model & migration (using UUID as model primary key)
07:21
233
Review model relationships (one-to-one, one-to-many)
03:53
234
Review model factory & seeder
08:44
235
Reviews controller (using latest() query scope)
06:53
236
Reviews HTTP resource (serializing model)
04:00
237
Loading reviews in Vue component
09:55
238
Vue filters and moment.js
07:20
239
Star Rating component (using FontAwesome)
09:48
240
Star Rating component logic (calculating stars to display from average rating)
14:04
241
Review list cleanup and section wrap-up
02:49
242
Review Page component markup and route
07:44
243
Emitting and handling custom Vue.js events
09:13
244
Parent and child components communication
03:49
245
v-model explained, adding v-model support to custom components
06:33
246
Leaving a rating flow explained
07:16
247
Checking if review already exists on backend
07:45
248
Checking if review already exists on frontend
06:45
249
Booking review key and Eloquent model events
09:11
250
Fetching booking by review key (custom model methods)
07:56
251
Creating Resource classes for booking
05:37
252
Understanding promise chaining
11:45
253
Displaying the booking information on review page
10:24
254
A new API endpoint for storing a review (validation rules, complex flow)
12:05
255
Handling request errors in Vue
13:14
256
Storing a new review (using POST in axios)
05:01
257
Fixing a 500 error in BookingByReview controller
03:07
258
FatalError component (custom Vue component for unhandled errors)
04:46
259
Handling only specific errors (HTTP error codes, validation errors)
11:09
260
Validation on Review sending page
06:17
261
Reusable validation errors component
10:37
262
Vue Mixins - how to reuse the same code in different components
08:56
263
Async/Await explained
00:00
264
Using async/await in Review component
07:54
265
Vue Component Slots
08:17
266
Fixing application Vue issues
02:48
267
Vuex introduction - managing global state
05:02
268
Setting up Vuex
11:30
269
State mutations - storing last search dates
02:52
270
Reading Vuex state
02:50
271
Binding to Vuex state
06:44
272
Using Vuex actions to add side effects when committing to the store
07:46
273
Initializing Vuex state from the browser local storage
06:42
274
Vue Transitions
07:15
275
Using animated icons
03:37
276
Bookable price (controller, migration, factory), Carbon date library
09:38
277
Async/Await in Availability, emitting a custom event
06:21
278
Loading price in Bookable component and using Vuex bindings
06:16
279
Price breakdown component
09:07
280
Vuex - a basket (adding/removing)
08:03
281
Vuex getters - how many items in the basket?
06:48
282
Checking what's in the basket, removing from the basket
11:32
283
Vuex getters - property vs method access, higher order functions, composition
07:24
284
Keeping basket state in localStorage
08:54
285
Creating a Basket/Checkout page
07:50
286
Rendering contents of the basket and allowing removal
08:03
287
List transitions - animating adding/deleting to a list (v-for)
05:01
288
Checkout form markup
09:07
289
Address model and booking changes
10:58
290
Checkout logic explained
04:56
291
Validating nested fields
06:10
292
Validating arrays of input
13:41
293
Storing booking and address
11:48
294
Refactoring price calculations
07:08
295
Binding form
07:02
296
Making a booking
10:06
297
Empty basket state
04:38
298
Clearing the basket after purchase
05:26
299
Displaying booking errors
08:06
300
Rendering purchase confirmation
07:49
301
Laravel Sanctum introduction
09:26
302
Laravel Sanctum installation
06:14
303
Sanctum configuration - domains
02:25
304
Understanding authentication with Sanctum
16:44
305
Authentication using Vue practical example
05:39
306
Logic component (page) markup
11:17
307
Login component logic
07:48
308
Is user authenticated - local storage? (Part I)
07:22
309
Is user authenticated - VueX? (Part II)
13:40
310
Handling unauthenticated state (401) - using Axios interceptors
08:12
311
Header changes and logout
12:21
312
Fixing "is logged in" delay
03:14
313
Registration component markup
06:43
314
Registration component logic
06:57
Unlock unlimited learning

Get instant access to all 313 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Course content

314 lessons · 35h 53m 40s
Show all 314 lessons
  1. 1 What you Will Build and Learn in This Course? 07:54
  2. 2 How to get Help? 05:51
  3. 3 The Visual Studio Code 07:12
  4. 4 Where to Find and How to Use the Course Source Code 06:42
  5. 5 Introduction to the Udemy UI 03:26
  6. 6 Setting Up for Windows! - Section Introduction 00:22
  7. 7 Windows Installing PHP 05:51
  8. 8 Windows Installing Composer 02:49
  9. 9 Windows Installing Node.js 03:04
  10. 10 Windows Installing Docker 03:07
  11. 11 Setting Up for Mac! - Section Introduction 00:32
  12. 12 MacOS Installing Homebrew 01:49
  13. 13 MacOS Installing PHP 02:28
  14. 14 MacOS Installing Composer 01:53
  15. 15 MacOS Installing Node.js 02:26
  16. 16 MacOS Installing Docker 02:42
  17. 17 Laravel, Vue & Inertia - Section Introduction 00:32
  18. 18 What is Laravel? 02:22
  19. 19 What is Vue? 01:30
  20. 20 What is Inertia? 03:04
  21. 21 Download the starter pack! 01:27
  22. 22 Creating Laravel project 03:20
  23. 23 Adding Vue and Vite to the stack 06:42
  24. 24 Configuring Inertia.js 09:04
  25. 25 Your First SPA - Section Introduction 02:12
  26. 26 Creating first pages 13:52
  27. 27 Passing data to pages 06:02
  28. 28 Layouts 05:28
  29. 29 Reactive data in Vue 05:58
  30. 30 Persistent layouts with Inertia 04:52
  31. 31 Default layouts 03:17
  32. 32 (OPTIONAL) Using linter (ESLint), jsconfig and getting most out of VSCode 08:09
  33. 33 (OPTIONAL) Advanced JS topics (arrow functions, promises, async importing etc.) 05:41
  34. 34 Working with the Database - Section Introduction 02:05
  35. 35 Laravel Debugbar & IDE Helper 06:09
  36. 36 Connecting to the Database 07:28
  37. 37 Models and Migrations 06:09
  38. 38 Working with Migrations 06:59
  39. 39 Model Factories & Seeders 11:33
  40. 40 Querying the Database 06:31
  41. 41 Querying the Database (CHALLENGE) 03:15
  42. 42 Updating and Inserting Data, Mass Assignment 08:11
  43. 43 Resource Controller and Route Model Binding 08:25
  44. 44 Vue Directives (v-for, v-bind) & Custom Components 13:48
  45. 45 Handling Forms (useForm, v-model) 14:01
  46. 46 Handling Forms in Laravel 07:08
  47. 47 Middlewares and Sharing Data with All Pages 07:43
  48. 48 Computed Data and Conditional Rendering (Displaying Flash Messages) 08:30
  49. 49 Data Validation (Back End & Front End) 10:49
  50. 50 Edit Form 10:15
  51. 51 Deleting Data 06:31
  52. 52 Laravel Route Names in Vue 09:17
  53. 53 Adding Some Style (Tailwind CSS) - Section Introduction 01:36
  54. 54 Installing and Setting Up Tailwind CSS 07:32
  55. 55 Why Tailwind CSS? Tailwind Overview 06:20
  56. 56 Basic Styling of the App (Hands on With Tailwind) 12:08
  57. 57 Custom UI Components and Grid Responsive Design 04:39
  58. 58 Listing Details (Non-Prop Attributes) 06:15
  59. 59 Custom Price Formatting Component 06:09
  60. 60 Listing Page (Getting Even Better With Responsive Design!) + Vue Named Slots 11:49
  61. 61 Styling Forms 06:54
  62. 62 Extracting Tailwind Styles Using @apply Directive 05:47
  63. 63 Edit Form Styling 01:16
  64. 64 Progress Bar Loading Indicator 04:59
  65. 65 Styling Error Messages 03:44
  66. 66 What Are We About to Build? 01:12
  67. 67 Payment Calculator Markup (Sliders) 04:51
  68. 68 Payment Calculator Logic 06:03
  69. 69 Composables - Reusable Logic in Vue (Reactive Monthly Payment) 08:24
  70. 70 Displaying Payment Next to Every Listing (Reusing Composable) 08:56
  71. 71 Adding More Composable Members (Total Paid, Total Interest) 07:54
  72. 72 Authentication & Security - Introduction 01:35
  73. 73 Authentication Controller and Routes 07:19
  74. 74 Authentication Form Markup and Basic Logic 09:20
  75. 75 Signing-In Logic - Authentication Process Explained 14:35
  76. 76 Explaining the Authentication Process 05:46
  77. 77 Getting the Currently Logged In User 07:34
  78. 78 Logging Users Out 05:19
  79. 79 CSRF Tokens 07:10
  80. 80 Protecting Routes (Authorization) - Can You Access a Specific Page? 09:47
  81. 81 User Registration Form 08:25
  82. 82 User Registration Logic & Hashing Passwords 09:50
  83. 83 Eloquent Mutators & Accessors - Hashing Password Example 09:05
  84. 84 How Hashing of The Passwords Work 04:42
  85. 85 Form Links 02:53
  86. 86 419 Errors When Logging Out 02:32
  87. 87 Database Relations & User Authorization - Introduction 01:58
  88. 88 Creating a One-to-Many Database Relationship 08:24
  89. 89 One-to-Many Connecting Models Together - the Theory 04:38
  90. 90 One-to-Many Connecting Models - Practice 08:11
  91. 91 Every New Listing Needs an Owner! 03:05
  92. 92 Model Policies - Theoretical 04:56
  93. 93 Model Policies - In Practice 13:43
  94. 94 Model Policy and Guest Users 02:49
  95. 95 Only Owners Can Edit or Delete! 02:54
  96. 96 Admin Users - Overriding Policy Implementation 08:01
  97. 97 Reading the Related Data (Using Database Relationship) 06:49
  98. 98 Data Pagination & Filtering - Introduction 01:48
  99. 99 Adding Pagination 11:13
  100. 100 Filtering Form Markup 16:52
  101. 101 Filtering JavaScript Logic 13:42
  102. 102 Filtering the Data 07:32
  103. 103 Conditional Queries in Eloquent 08:18
  104. 104 Local Query Scopes in Eloquent 06:03
  105. 105 Filtering Using Local Query Scope 04:31
  106. 106 Realtor My Account - What We're Going to Build? 01:40
  107. 107 Controller Routes Grouping 04:56
  108. 108 Showing the Realtor Listings 16:53
  109. 109 Soft Deletes (Putting Records Into Trash - To Be Restored) 10:01
  110. 110 Soft Deleting Listings 07:59
  111. 111 Filtering Using Checkboxes - The Markup 05:37
  112. 112 Vue Watchers - Filtering Using Checkboxes 08:25
  113. 113 The Debounce Function - Handling the Events Flood 05:57
  114. 114 Filtering Using Checkboxes - The Backend Part 07:49
  115. 115 Customizable Sorting - Back End 08:23
  116. 116 Customizable Sorting - Front End 09:01
  117. 117 Filtering Form - Default Values 03:17
  118. 118 My Account Section Pagination 04:10
  119. 119 Edit, Delete and Preview Buttons 11:32
  120. 120 Restoring Models 12:47
  121. 121 File Uploading - Introduction 02:07
  122. 122 File Data Model 07:14
  123. 123 Laravel Filesystem Abstraction Explained 08:06
  124. 124 Preparing for the File Uploads 10:04
  125. 125 Uploading Multiple Images (Backend Part) 06:07
  126. 126 Uploading Multiple Images (In Vue) 09:36
  127. 127 Styling the Upload Input & UX Improvement 05:58
  128. 128 File Upload Progress Indicator 03:42
  129. 129 Displaying the Uploaded Images 07:23
  130. 130 Removing Uploaded Files 06:38
  131. 131 Displaying Listing Images on the Listing Page 01:55
  132. 132 Validating Uploaded Files (Make Sure It is an Image!) 07:55
  133. 133 Counting Related Models (How Many Images We Have?) 03:02
  134. 134 Making Offers - Introduction 03:06
  135. 135 Offers Data Model and Relations 09:00
  136. 136 Offer Widget - Adding Widget in Vue 10:38
  137. 137 Making Offer - the Backend Part 13:17
  138. 138 Vue Custom Component Events (Passing Data to the Parent Component) 10:04
  139. 139 Fetching and Displaying an Existing Offer of the Current User 11:29
  140. 140 How Many Offers Were Made? 04:56
  141. 141 Offer List Page 09:02
  142. 142 Single Listing View with All The Offers 09:49
  143. 143 Accepting Offers (Single Action Controller & Loading Nested Relations) 12:43
  144. 144 Seeing Which Offer is Sold 05:07
  145. 145 Filtering Out Sold Offers (Querying Relationship Presence/Absence) 08:04
  146. 146 Simpler Way To Identify Sold Listings (Refactoring the Query Scope!) 07:29
  147. 147 No Offer Making or Changing of Listings That Are Sold! 09:02
  148. 148 UI Improvements 05:04
  149. 149 Notifications - Informing Users About What Happened - Introduction 02:04
  150. 150 Notifications Introduction & Database Setup 04:07
  151. 151 Sending Notification When Offer is Made 08:34
  152. 152 Showing the Notification Count 10:52
  153. 153 Showing an Empty State 05:31
  154. 154 Notifications List Page Backend Part 04:17
  155. 155 Notifications List Page Front End 10:34
  156. 156 Marking Notifications as Read 13:38
  157. 157 Sending Email - Introduction 02:25
  158. 158 Local Email Testing with Mailhog (in Docker) 06:10
  159. 159 Delivering Notifications via Email 05:01
  160. 160 Registered User - Email Verification Process 09:39
  161. 161 Requiring Verification on Pages & Not Verified Notice Page 05:28
  162. 162 User Verification Route 09:57
  163. 163 Resending the Verification Link (and Understanding Throttling and Cache) 06:10
  164. 164 Testing the Email Resending Process 05:23
  165. 165 What is JavaScript? 01:56
  166. 166 Using Chrome Console to Learn JavaScript 01:12
  167. 167 Variables - var, let, const 02:12
  168. 168 Primitive Data Types 03:45
  169. 169 Data Type Gotchas 05:36
  170. 170 Functions 03:01
  171. 171 Arrays 01:42
  172. 172 Objects 02:44
  173. 173 Introduction 02:27
  174. 174 Required and optional software for the course 05:06
  175. 175 MacOS specific setup 05:15
  176. 176 Windows specific setup 00:00
  177. 177 Where to find the full source code? 03:58
  178. 178 Visual Studio Code - extensions, shortcuts and tricks 07:28
  179. 179 Creating a new Laravel project using Composer 03:41
  180. 180 Setting up Vue.js application 13:18
  181. 181 Fallback route in Laravel 05:58
  182. 182 Installing and setting up Vue Router 13:03
  183. 183 HTML5 history mode in Vue Router 04:44
  184. 184 Vue component registration (global/local) and Index component 07:39
  185. 185 Router Link component and routing inside a Vue application 02:28
  186. 186 Bootstrap, styling and Laravel Mix 04:14
  187. 187 v-bind, v-bind shorthand and named Vue routes 05:25
  188. 188 Styling the navigation bar 03:24
  189. 189 Single file Vue components 04:10
  190. 190 Child components (using components in other components) 08:53
  191. 191 Component props and prop types 09:44
  192. 192 One-way data flow 05:00
  193. 193 Lifecycle hooks 06:42
  194. 194 Component state and reactivity 11:39
  195. 195 Reactivity gotchas 07:19
  196. 196 Conditional rendering (v-if) 03:59
  197. 197 List rendering and v-else 09:02
  198. 198 Computed properties 09:53
  199. 199 Component methods 13:25
  200. 200 Setting up database 06:39
  201. 201 Specified key was too long problem 02:53
  202. 202 Model and migrations 06:38
  203. 203 Model factory, database seeder and faker 12:02
  204. 204 Routes and model all() method 07:43
  205. 205 API testing in Postman 07:48
  206. 206 Using Model::find() and mandatory/optional route parameters 06:37
  207. 207 Using Model::findOrFail() and Accept header 03:34
  208. 208 JavaScript Promises explained 13:06
  209. 209 Making HTTP requests with Axios 06:47
  210. 210 CSS Flexbox and Bootstrap utility classes 02:54
  211. 211 Vue router parameters 07:06
  212. 212 Passing all object properties as props (v-bind trick) 05:58
  213. 213 Vue router links 02:28
  214. 214 Understanding CSS grid system 05:30
  215. 215 Laravel controllers 09:39
  216. 216 Resource controllers 04:24
  217. 217 API Resources 10:16
  218. 218 Availability component (horizontal forms, scoped styles) 10:38
  219. 219 Form input binding (v-model) 03:58
  220. 220 Handling DOM events in Vue 04:48
  221. 221 Laravel Debugbar (seeing what happens behind the scenes) 03:23
  222. 222 Booking model and relations 04:55
  223. 223 Seeding bookings (generating random, non overlapping time series) 13:58
  224. 224 Single Action Controller 04:45
  225. 225 Request input validation (validating data clients send to our server) 07:23
  226. 226 Eloquent Local Query Scopes 10:42
  227. 227 Returning bookable availability (HTTP response statuses) 05:18
  228. 228 Getting object availability in Vue.js 08:06
  229. 229 Displaying form errors 09:47
  230. 230 Final touches - displaying availability 03:41
  231. 231 ReviewList component markup (using responsive grid options) 11:58
  232. 232 Review model & migration (using UUID as model primary key) 07:21
  233. 233 Review model relationships (one-to-one, one-to-many) 03:53
  234. 234 Review model factory & seeder 08:44
  235. 235 Reviews controller (using latest() query scope) 06:53
  236. 236 Reviews HTTP resource (serializing model) 04:00
  237. 237 Loading reviews in Vue component 09:55
  238. 238 Vue filters and moment.js 07:20
  239. 239 Star Rating component (using FontAwesome) 09:48
  240. 240 Star Rating component logic (calculating stars to display from average rating) 14:04
  241. 241 Review list cleanup and section wrap-up 02:49
  242. 242 Review Page component markup and route 07:44
  243. 243 Emitting and handling custom Vue.js events 09:13
  244. 244 Parent and child components communication 03:49
  245. 245 v-model explained, adding v-model support to custom components 06:33
  246. 246 Leaving a rating flow explained 07:16
  247. 247 Checking if review already exists on backend 07:45
  248. 248 Checking if review already exists on frontend 06:45
  249. 249 Booking review key and Eloquent model events 09:11
  250. 250 Fetching booking by review key (custom model methods) 07:56
  251. 251 Creating Resource classes for booking 05:37
  252. 252 Understanding promise chaining 11:45
  253. 253 Displaying the booking information on review page 10:24
  254. 254 A new API endpoint for storing a review (validation rules, complex flow) 12:05
  255. 255 Handling request errors in Vue 13:14
  256. 256 Storing a new review (using POST in axios) 05:01
  257. 257 Fixing a 500 error in BookingByReview controller 03:07
  258. 258 FatalError component (custom Vue component for unhandled errors) 04:46
  259. 259 Handling only specific errors (HTTP error codes, validation errors) 11:09
  260. 260 Validation on Review sending page 06:17
  261. 261 Reusable validation errors component 10:37
  262. 262 Vue Mixins - how to reuse the same code in different components 08:56
  263. 263 Async/Await explained 00:00
  264. 264 Using async/await in Review component 07:54
  265. 265 Vue Component Slots 08:17
  266. 266 Fixing application Vue issues 02:48
  267. 267 Vuex introduction - managing global state 05:02
  268. 268 Setting up Vuex 11:30
  269. 269 State mutations - storing last search dates 02:52
  270. 270 Reading Vuex state 02:50
  271. 271 Binding to Vuex state 06:44
  272. 272 Using Vuex actions to add side effects when committing to the store 07:46
  273. 273 Initializing Vuex state from the browser local storage 06:42
  274. 274 Vue Transitions 07:15
  275. 275 Using animated icons 03:37
  276. 276 Bookable price (controller, migration, factory), Carbon date library 09:38
  277. 277 Async/Await in Availability, emitting a custom event 06:21
  278. 278 Loading price in Bookable component and using Vuex bindings 06:16
  279. 279 Price breakdown component 09:07
  280. 280 Vuex - a basket (adding/removing) 08:03
  281. 281 Vuex getters - how many items in the basket? 06:48
  282. 282 Checking what's in the basket, removing from the basket 11:32
  283. 283 Vuex getters - property vs method access, higher order functions, composition 07:24
  284. 284 Keeping basket state in localStorage 08:54
  285. 285 Creating a Basket/Checkout page 07:50
  286. 286 Rendering contents of the basket and allowing removal 08:03
  287. 287 List transitions - animating adding/deleting to a list (v-for) 05:01
  288. 288 Checkout form markup 09:07
  289. 289 Address model and booking changes 10:58
  290. 290 Checkout logic explained 04:56
  291. 291 Validating nested fields 06:10
  292. 292 Validating arrays of input 13:41
  293. 293 Storing booking and address 11:48
  294. 294 Refactoring price calculations 07:08
  295. 295 Binding form 07:02
  296. 296 Making a booking 10:06
  297. 297 Empty basket state 04:38
  298. 298 Clearing the basket after purchase 05:26
  299. 299 Displaying booking errors 08:06
  300. 300 Rendering purchase confirmation 07:49
  301. 301 Laravel Sanctum introduction 09:26
  302. 302 Laravel Sanctum installation 06:14
  303. 303 Sanctum configuration - domains 02:25
  304. 304 Understanding authentication with Sanctum 16:44
  305. 305 Authentication using Vue practical example 05:39
  306. 306 Logic component (page) markup 11:17
  307. 307 Login component logic 07:48
  308. 308 Is user authenticated - local storage? (Part I) 07:22
  309. 309 Is user authenticated - VueX? (Part II) 13:40
  310. 310 Handling unauthenticated state (401) - using Axios interceptors 08:12
  311. 311 Header changes and logout 12:21
  312. 312 Fixing "is logged in" delay 03:14
  313. 313 Registration component markup 06:43
  314. 314 Registration component logic 06:57

Related courses

  • Laravel Eloquent: Expert Level thumbnailUpdated 2y ago

    Laravel Eloquent: Expert Level

    By: LaravelDaily
    After this course, you will become expert in creating relationships, querying data effectively and using less-known Eloquent features.
    3 hours 46 minutes 18 seconds
  • Material UI with Vuetify and Vue.js thumbnailUpdated 2y ago

    Material UI with Vuetify and Vue.js

    By: Vue School
    Create a Vue.js app with a beautiful and functional UI in no time with Vuetify! This UI library contains 80+ ready to use components designed according to the b
    1 hour 40 minutes 10 seconds
  • Rapid Development with Vite thumbnailUpdated 2y ago

    Rapid Development with Vite

    By: Vue School
    Vite is a first-in-class build tool that aims to provide a faster and leaner development experience for modern web projects. In this course, we cover everything
    1 hour 40 minutes 49 seconds

Frequently asked questions

What is Master Laravel, Vue 3 & Inertia Full Stack 2023 about?
Learn Laravel together with Vue.js in this brand new, full-stack, project based course! Learn how to create a robust API in Laravel and a Single Page Application frontend in Vue.js! As with my other courses, you will start straight away…
Who teaches Master Laravel, Vue 3 & Inertia Full Stack 2023?
Master Laravel, Vue 3 & Inertia Full Stack 2023 is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Master Laravel, Vue 3 & Inertia Full Stack 2023?
Master Laravel, Vue 3 & Inertia Full Stack 2023 contains 314 lessons with a total runtime of 35 hours 53 minutes. All lessons are available to watch online at your own pace.
Is Master Laravel, Vue 3 & Inertia Full Stack 2023 free to watch?
Master Laravel, Vue 3 & Inertia Full Stack 2023 is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Master Laravel, Vue 3 & Inertia Full Stack 2023 online?
Master Laravel, Vue 3 & Inertia Full Stack 2023 is available to watch online on CourseFlix at https://courseflix.net/course/master-laravel-vue-3-inertia-full-stack-2023. The page hosts every lesson with the integrated video player; no download is required.