jhonoryza / laravel-inertia-builder
Laravel Inertia UI Builder
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:TypeScript
Requires
- php: ^8.4
- illuminate/console: ^12.0
- illuminate/support: ^12.0
- rap2hpoutre/fast-excel: ^5.6
- spatie/laravel-query-builder: ^6.3
- tightenco/ziggy: ^2.5
Requires (Dev)
- laravel/pint: ^1.24
- orchestra/testbench: ^10.0
README
This project is inspired by Filament PHP. It aims to build complex UI components like data tables and forms using a declarative, backend-driven approach. The structure of the UI (e.g., form fields, table columns) is defined in PHP controller classes, and a generic set of React components renders the final UI. The goal is to build dynamic interfaces without writing custom frontend page components for each resource.
Key Technologies: Laravel, Inertia.js, React, TypeScript, TailwindCSS.
Key Features
- Declarative UI Construction: Define forms and data tables in your Laravel controllers. No need to write bespoke frontend components for every CRUD page.
- Rich Form Fields: A wide variety of form fields are available out-of-the-box, including Text, Select, Textarea, Markdown, File Uploads, Date Pickers, and more.
- Powerful Data Tables: Create complex data tables with searchable columns, advanced filtering, sorting, and bulk actions.
- Reactive Components: Create reactive form elements where a change in one field automatically updates another, all handled seamlessly on the backend.
- Relationship Handling: Automatically populate fields and table columns with data from Eloquent relationships (
belongsTo
,hasMany
, etc.). - Customizable: Extend the library with your own custom fields and filters to meet specific needs.
Docs
For more detailed examples and documentation, please check the following resources:
- Tables:
- Forms:
- Fields:
- Text Field
- Email Field
- Number Field
- Password Field
- Textarea Field
- Grid Field
- Reactive Field
- Serverside Field
- Slider Field
- File Field
- Markdown Field
- Flatpickr Field
- Date & Datetime Field
- Hidden Field
- Toggle Field
- Radio Field
- ComboBox Field
- Select Field
- Checkbox & CheckboxList Field
- Custom Field
- Key Value Field
- Repeater Field
- Rich Text Field
- Tags Field
- Filters:
- Examples:
Requirement
- PHP >= 8.4
- Laravel >= 12
- Nodejs >= 20
- Tailwind 4
- Laravel official starter kit with React
currently not supported for official vue starter kit
Getting Started
Package installation
composer require jhonoryza/laravel-inertia-builder
php artisan inertia-builder:install
Generator
you need at least a table structure
in your database
let's create users
table using laravel migration
or manual sql
then run this command :
php artisan inertia-builder:generate users
this will generate: Model, Factory, Controller, Form & Table class, Request, and Routes
then run npm run dev
to recompile the frontend
Security
If you've found a bug regarding security, please mail jardik.oryza@gmail.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.