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.
- 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.
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
- Tab 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:
- PHP >= 8.4
- Laravel >= 12
- Nodejs >= 20
- Tailwind 4
- Laravel official starter kit with React
- Laravel official starter kit with Vue
composer require jhonoryza/laravel-inertia-builder
php artisan inertia-builder:install
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
If you've found a bug regarding security, please mail [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.