Hello Artisan,
In today's blog post, we'll see how to use laravel 11 and Inertia js to build Single Page Application (SPA) with a CRUD operation by creating a simple Event management application.
Using this combination we can build modern single-page applications without leaving the comfort of our favorite backend framework.
What is Inertia JS?
Inertia.js is a modern JavaScript-driven application using classic server-side routing and controllers. It acts as a bridge between server-side frameworks like Laravel and client-side frameworks like Vue.js or React. It is also called a modern monolith. It means you can use your server-side code to handle routing, validation, and authentication while building rich, modern interfaces with the client-side framework of your choice.
This blog is divided into two parts:
- Installation and Stepup of laravel project
- CRUD Operation
Prerequisites: Before we start, make sure you have the following installed:
- PHP
- Composer
- Node.js and npm
- A basic understanding of Laravel and Vue.js
Step 1: Set up the Laravel Project
composer create-project laravel/laravel event-management-app
cd event-management-app
Step 2: Frontend Scaffolding using Breeze
Laravel Breeze comes with authentication features that provide a simple implementation of login, registration, password reset, email verification, and password confirmation features. To use this feature we have to install the package using Composer.
composer require laravel/breeze --dev
After the package is installed we have to run the command breeze:install
which publishes the authentication files. During this installation process, it asks you to select the frontend stack and testing framework.
php artisan breeze:install
php artisan migrate
npm install
npm run dev
Please check the image below for more information.
Step 3: Add your database details in .env
file.
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password
Step 4: Create a migration and model for the events table.
This migration file is used to store the information about the event, which includes the name of the event, date, time, and location.
php artisan make:model Event -m
Here -m
flag creates a migration file along with the Event model. Check the screenshot for the result.
Add this code to the migration file.
Schema::create('events', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->dateTime('from_datetime');
$table->dateTime('to_datetime');
$table->string('location');
$table->timestamps();
});
Add this code in Event Model file.
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'from_datetime',
'to_datetime',
'location',
];
Now run php artisan migrate
command to run the migrations.
In this blog, we have seen the installation process and the basic setup of the laravel project using Inertia. In the coming blog post, we will see the CRUD operation.
Happy Reading!! 🦄 ❤️
Top comments (0)