A powerful admin panel builder for Laravel using the VILT stack (Vue, Inertia.js, Laravel, Tailwind CSS). Inspired by Filament PHP, VoltPanel brings a similar developer experience to the VILT ecosystem.
- Resource Builder — Define models, forms, and tables in a single PHP class with zero boilerplate CRUD
- Rich Form Components — TextInput, Select, RichEditor (Tiptap), DatePicker, ColorPicker, FileUpload, Toggle, Checkbox, Radio, Textarea, and more
- Powerful Tables — Sortable, searchable, and filterable columns with TextColumn, BadgeColumn, BooleanColumn, DateColumn, ImageColumn, IconColumn
- Table Filters — SelectFilter, TernaryFilter with saved filter presets
- Actions & Bulk Actions — Built-in Delete, Export (CSV/Excel/PDF), and Import actions with custom action support
- Dashboard Widgets — StatsOverview, Chart (Chart.js), AdvancedChart, TimeSeries, StatsChart, and ActivityLog widgets with customizable layouts
- Role-Based Authorization — Built-in roles and permissions system with super admin support
- Activity Logging — Automatic tracking of create, update, and delete operations
- Import & Export — CSV, Excel (XLSX), and PDF export via OpenSpout and DomPDF; CSV/Excel import with chunked processing
- Multi-Tenancy — Data isolation by tenant with subdomain/domain identification support
- Media Library — File uploads and media management with multiple disk support
- Global Search — Search across all resources with customizable keybindings
- Theming — Customizable colors, dark mode toggle, and CSS variable-based theming (supports Tailwind v3 & v4)
- Multi-Panel Support — Register multiple admin panels with independent configurations
- Comments — Threaded comments with mentions support on any resource
- Tags & Favorites — Tagging system and user favorites for resources
- Webhooks — Event-driven webhook dispatching
- Plugin System — Extend VoltPanel with custom plugins
- Localization — Multi-language support (English, French, Spanish, German, Arabic)
- Settings Management — Key-value system settings with caching
- Scheduled Exports — Automate recurring data exports
- PHP 8.2+
- Laravel 11 or 12
- Node.js 18+
- Composer 2.x
composer require rhaima/voltpanelphp artisan voltpanel:installThis will publish the config file, migrations, Vue components, and CSS assets (auto-detects Tailwind v3 or v4).
php artisan migratenpm install
npm run devphp artisan voltpanel:panel AdminIn your app/Providers/AppServiceProvider.php:
use App\Panels\AdminPanel;
use Rhaima\VoltPanel\Facades\VoltPanel;
public function boot(): void
{
VoltPanel::register(new AdminPanel());
}use Rhaima\VoltPanel\Authorization\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}Visit http://yourapp.com/admin to access the panel.
Generate a resource:
php artisan voltpanel:resource PostDefine your resource in a single class:
use Rhaima\VoltPanel\Resources\Resource;
use Rhaima\VoltPanel\Forms\Form;
use Rhaima\VoltPanel\Tables\Table;
use Rhaima\VoltPanel\Forms\Components\TextInput;
use Rhaima\VoltPanel\Forms\Components\RichEditor;
use Rhaima\VoltPanel\Forms\Components\Select;
use Rhaima\VoltPanel\Tables\Columns\TextColumn;
use Rhaima\VoltPanel\Tables\Columns\BadgeColumn;
use Rhaima\VoltPanel\Tables\Columns\DateColumn;
class PostResource extends Resource
{
protected static ?string $model = Post::class;
public static function form(Form $form): Form
{
return $form->schema([
TextInput::make('title')->required(),
RichEditor::make('content'),
Select::make('status')->options([
'draft' => 'Draft',
'published' => 'Published',
]),
]);
}
public static function table(Table $table): Table
{
return $table->columns([
TextColumn::make('title')->sortable()->searchable(),
BadgeColumn::make('status'),
DateColumn::make('created_at'),
]);
}
}Publish the config file:
php artisan vendor:publish --tag=voltpanel-configSee config/voltpanel.php for all available options including path, middleware, branding, theme, authorization, activity log, multi-tenancy, and more.
Full documentation is available at https://rhaima96.github.io/voltpanel-docs.
| Layer | Technology | Purpose |
|---|---|---|
| Backend | Laravel 11/12 | API, routing, ORM, authentication |
| Frontend | Vue 3 | Reactive UI components |
| Bridge | Inertia.js | SPA without building an API |
| Styling | Tailwind CSS v3/v4 | Utility-first CSS |
| Charts | Chart.js | Dashboard visualizations |
| Rich Editor | Tiptap | WYSIWYG content editing |
| Export | OpenSpout, DomPDF | CSV, Excel, PDF generation |
composer testPlease see the releases page for more information on what has changed.
Contributions are welcome! Please see CONTRIBUTING for details.
If you discover a security vulnerability, please send an email to mohamed.rhaima96@gmail.com. All security vulnerabilities will be promptly addressed.
- Mohamed Touhami Rhaima
- Inspired by Filament PHP
- All Contributors
The MIT License (MIT). Please see License File for more information.