Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Laravel 11 with Inertia.js and Vue 3 | A Practical Guide
Rating: 4.6 out of 5(50 ratings)
512 students

Laravel 11 with Inertia.js and Vue 3 | A Practical Guide

The ultimate guide to build Single Page Applications with Laravel 11, Vue 3, and Inertia | Build Practical Projects
Created byTapan Sharma
Last updated 3/2025
English
English [Auto],

What you'll learn

  • Learn how to Build Single Page Applications using Laravel 11, Inertia and Vue 3
  • Learn how to Implement Roles and Permissions on an Inertia based App (Without using any external package)
  • Learn how to Build dependent dropdowns in Laravel and Vue
  • Learn how to Build Data-tables using Laravel, Inertia and Vue.
  • Learn how to build a Multiple Drag and Drop File Uploading and Processing with Laravel/Inertia/Vue
  • Learn how to Implement Translations in an Inertia based app.
  • Learn how to implement Infinite Scrolling in Inertia Based Applications
  • Learn how to Customize Error Pages in Inertia

Course content

9 sections102 lectures15h 53m total length
  • Introduction to Learn Inertia2:34

    Master inertia basics with Laravel and Vue, including installing Inertia and defining pages with props. Implement forms with backend validations and display validation messages while enabling data sharing across pages.

  • Install and Setup Laravel/Inertia.js with Vue.js3:28

    Install a fresh Laravel 11 project with the view with inertia stack and Breeze starter kit, set up sqlite, and run migrations to support a Vue.js with inertia app.

  • Overview of the Project15:22

    Explore the Breeze with Inertia.js project, examining routes, Inertia renders, and front-end components in a Laravel 11 app to understand data flow from back end to Vue 3 views.

  • Creating Pages5:56

    Register an authenticated resourceful comments route, create a corresponding controller and inertia index view, and render the page within the project's existing layout using the comments component.

  • Title and Meta Tags3:06

    Define dynamic title and meta tags in inertia-based applications using the head component from the Inertia Vue 3 package, ensuring SEO-friendly page titles and meta descriptions.

  • Passing Data to Pages13:29

    Discover how to pass data from the Laravel back end to the Vue 3 front end via Inertia, using props, define props, and render post data in the index view.

  • Swapping to API Resources13:44

    Learn how to format post data with Laravel api resources, including post and user resources, eager loading, and front-end data handling for inertia applications.

  • Fixing few Issues before moving forward3:18

    Rename the posts route and directory, and update the post controller and pages to fix routing. This aligns the inertia based Laravel 11 project ahead of form handling.

  • Form Basics8:36

    Master the basics of forms in inertia-based applications, binding form fields with the inertia form helper and v-model, posting to the backend, and handling validation errors and loading states.

  • Submitting Forms11:28

    Implement form submissions in inertia-based applications by wiring the store method and validations for posts. Manage frontend form state, errors, and loading indicators while authenticating users.

  • Showing Validation Errors4:01

    Display validation errors on the front end by checking field-specific errors in the errors bag (body) and styling them with tailwind. Demonstrate showing and clearing errors after a post request.

  • Resetting Forms5:06

    Explore resetting a form after a successful request using onsuccess callbacks and the recently successful boolean indicator, and compare resetting with manually setting values while preserving the initial value.

  • Clearing Validation Errors3:21

    Learn to reset validation errors on focus in a Laravel 11 app with Inertia.js and Vue 3. Use form.clearErrors to clear the body error when the textarea is focused.

  • Accessing Form Processing State3:38
  • Manual Visits and Partial Reloads10:33

    Learn how to perform manual visits and partial reloads with Inertia.js using the router to load only post data or the now timestamp, and preserve scroll for seamless updates.

  • Partial Visits (and more) with Links5:01

    Implement navigation between pages using the Inertia link helper to partial reload post data while preserving scroll, demonstrating dynamic values and only prop usage with posts data.

  • Shared Data6:26

    Discover how Inertia middleware shares globally accessible data, like the authenticated user and custom greetings, across every page using the share method and use page helpers.

  • Making Use of Ziggy6:54

    Learn how Laravel Ziggy exposes your Laravel routes to frontend JavaScript, allows referencing routes by name with parameters and model binding, and integrates smoothly with Inertia and Vue 3.

  • Hooking into Forms for Flash Messages5:46

    Hook into the form's callback to display flash notifications on successful post creation, using the Vue two certification toast package and configured options.

  • Revisiting Shared Data for Better Flash Messages8:44

    Revise flash messages in Laravel 11 with Inertia.js and Vue 3 by using a shared data approach to pass a session message and display a front-end toast.

  • Shorthand Routes3:14

    Explore shorthand routes in inertia to render components directly via route inertia, passing middleware, names, and parameters, and compare with the closure-based approach for Laravel and Inertia.js.

  • Remembering Form States2:33

    Learn how Inertia.js preserves form state across page navigation by assigning a unique form key to store the post to the database, keeping data intact when returning from the dashboard.

  • Preserving States4:18

    Preserve states across page interactions with get requests, maintaining search inputs, form inputs, scroll position, and the current page via a preserve state flag for a seamless user experience.

  • Basic Authorization10:02

    Implement basic authorization in an inertia-based Laravel app by creating a post policy that lets only verified email users create posts, with backend checks and frontend concealment.

Requirements

  • Beginner Level knowledge of PHP/Laravel is required
  • Beginner Level knowledge of Vue is required

Description

In this course, we will be Learning Inertia.js (A tool to build single-page apps, without creating any APIs)  along with Vue.js in a practical way by building multiple practical projects along the way.


Inertia serves as the solution, seamlessly connecting Laravel as a backend with a frontend Framework (React/Vue/Svelte), enabling us to build everything in one application (a monolith) while achieving the same outcome. The best part? We don't have to create an API.


Projects Roadmap and Status:

[Uploaded] Learn Inertia

[Uploaded] Flexible Flash Notifications with Inertia

[Uploaded] Customizing Error Pages in Inertia

[Uploaded] Building a Simple Student's Management System

[Uploaded] Implementing Roles/Permissions in Inertia-Based Applications.

[Uploaded] Multiple Drag And Drop File Uploading and Processing with Inertia
[Uploaded] Translations with Laravel and Inertia
[Uploaded] Infinite Scrolling with Inertia


Project Description:


[Uploaded] Learn Inertia

In this section, we'll look into the basics of Inertia and some of the fundamental features of Inertia.js.

Some of the topics we'll cover in this section include:


  • Learn how to set up Laravel with Inertia and Vue Stack.

  • Learn how to Format the data with API Resources.

  • Learn about how to work with forms, and display validation errors

  • Learn how to preserve the scroll behavior, and preserve the state of the page

  • Learn how to implement Manual Visits and Partial Reloads in Inertia.

  • Learn how to Implement Authorization checks (on both frontend and backend)

  • Learn how to Customize the default Error pages and render Custom Inertia Pages (403, 404, 419 pages)

  • Learn how to display Flash Notifications in Inertia/Vue

  • Learn how to Set up page titles and meta tags.


[Uploaded] Flexible Flash Notifications with Inertia


In this Section, we'll learn how to build a flexible flash notifications feature in Inertia.

By the end of the section, we'll have the ability to flash any notification, anywhere in our application, without repeating any code.


[Uploaded] Customizing Error Pages in Inertia

Learn how to Customize the default error pages in Inertia.

We'll learn the following in this Section:

  • Learn how to customize the default error pages in Laravel

  • Learn how to return an Inertia Response whenever any error is encountered in our app.

  • Learn how to render different types of errors by re-using the same vue component.

  • Learn how to define a config to enable/disable the rendering of custom error pages


[Uploaded] Building a Simple Student's Management System

In this section, we'll build a simple CRUD app and dive into the fundamentals of building CRUD applications with Laravel, Inertia, and the Vue Stack, and we will learn the following topics along the way:


  • Learn about Watchers in Vue.js and Build dependent dropdowns in Inertia/Vue

  • Learn how to work with Factories and Seeders in Laravel, and seed the necessary data for all of our Models

  • Learn how to use a Re-usable Vue Component to display validation messages.

  • Learn how to Implement Server Side Pagination from scratch.

  • Learn how to Implement Search Functionality in an Inertia/Vue Data-table.

  • Learn how to Implement filters in an Inertia/Vue data table.


[Uploaded] Implementing Roles/Permissions in Inertia-Based Applications.

We'll continue from where we left off in the previous section and implement the Roles and Permissions functionality without using any external plugins.

Some of the features that we'll cover in this section are listed below:


  • Implement Roles CRUD.

  • Manage Permissions related data for a specific role on Role Create/Edit Pages

  • Implement Authorization/Gate Checks throughout the project (on both frontend and backend)


[Uploaded] Multiple Drag And Drop File Uploading and Processing with Inertia

In this section, we'll build a multiple-file chunked uploader in Inertia/Vue with the ability to pause, resume, and cancel uploads.

And learn the following along the way:


  • Learn how to Integrate and Use Laravel Reverb in an Inertia/Vue Application.

  • Learn how to edit metadata (like the title and description) for each upload — even while they’re uploading and processing.

  • Learn how to queue and process uploaded files on the Backend

  • Learn how to report progress updates to the client using Laravel Reverb.

  • And many more...


[Uploaded] Translations with Laravel and Inertia

Localization is a breeze in Laravel applications, but what happens when you need to bring this to the client side? Turns out in Inertia, it's pretty simple.

In this section, we'll build a language switcher, share translations with the client, and build a simple translation helper for Vue to use directly in templates. We'll also cover caching translations to keep things running smoothly.


[Uploaded] Infinite Scrolling with Inertia

In this section, we'll seed our database with a bunch of data and start building the solution, we'll start by using Inertia's router to load additional data, and later we'll optimize the infinite scrolling flow by replacing the router with Axios.

Who this course is for:

  • Students who want to Build Monolith(SPA) Applications using Laravel, Inertia and Vue