lara-experts / forms
A complete form builder package for Laravel and Filament, providing reusable UI components and tools to create dynamic, customizable forms
Requires
- php: ^8.2
- codeat3/blade-clarity-icons: ^1.7
- codeat3/blade-iconpark: ^1.5
- filament/filament: ^3.1
- intervention/image: ^2.1
- ryangjchandler/blade-tabler-icons: ^2.3
- spatie/laravel-medialibrary: ^11.11
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- ext-json: *
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.0
- nunomaduro/larastan: ^2.2
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1
README
LaraExperts Form Builder is a powerful Laravel package that allows users to build fully customizable forms with ease. Built on top of the Filament admin panel, this package lets you add and manage dynamic fields such as inputs, text areas, paragraphs, date/time pickers, color pickers, file uploads, and more — all without writing any HTML manually.
🚀 Features
- Drag-and-drop form builder interface
- Custom fields (text, paragraph, file, date, color, etc.)
- Responsive and accessible forms
- Admin panel management via Filament
- API-ready for submission and management
- Image and media support
- SEO integration
- Multilingual support
📦 Installation
To install the package, follow the steps below.
Step 1: Install via Composer
composer require lara-experts/forms
Step 2: Run the Installation Command
php artisan form:install
This command sets up the initial package structure and optionally runs database migrations after user confirmation.
⚙️ Configuration & Setup
Step 3: Set Up APIs and Controllers
Publish all components (optionally use --force
if needed):
php artisan bolt:publish
//
IMPORTANT in laravel 11 you should add this line in file bootstrap/app.php
" api: __DIR__.'/../routes/api.php"
Generate the FormController (manual completion may be required):
php artisan make:form-controller
Step 4: Configure User Model
Add the following in your app/Models/User.php
file:
use LaraExperts\Bolt\Models\Concerns\BelongToBolt; class User extends Authenticatable { use BelongToBolt; }
Step 5: Set Up Image Support
⚠️ Important: The image upload API requires authentication.
You must create a login endpoint using JWT and use the access token when calling the image upload endpoint.
php artisan make:image-support
Step 6: Run Migrations
php artisan migrate
🧩 Required Dependencies
Ensure the following packages are installed for full functionality:
✅ Filament Admin Panel
composer require filament/filament
🌐 Multilingual Support
composer require filament/spatie-laravel-translatable-plugin:"^3.2" -W
Register the Plugin in Your Admin Panel Provider
⚠️ Important:
You must register the plugin in your Admin Panel Provider to make it visible and functional in the admin panel.
use LaraExperts\Bolt\BoltPlugin; use Filament\SpatieLaravelTranslatablePlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ SpatieLaravelTranslatablePlugin::make() ->defaultLocales(['en', 'es']), BoltPlugin::make(), ]); }
🔍 SEO Tools
composer require artesaos/seotools
📘 Usage
After installation and setup, access the Filament dashboard and navigate to the Form Builder panel. Here you can:
- Create new forms
- Add any supported field type
- Configure field settings, validation, and design
- Save and manage submissions
These forms are ready to be displayed on the front-end and accept user input.
🛠 Customization
You can extend or override components such as:
- Fields (create your own or edit existing ones)
- Form layout templates
- Submission logic (custom controllers)
- Validation rules
Explore the published files and documentation for customization options.
🤝 Contributing
We welcome contributions! Whether it's a bug fix, enhancement, or suggestion — open an issue or submit a pull request.
📄 License
This package is open-source and licensed under the MIT license.
Developed with ❤️ by LaraExperts