Tasks and Delivery System: Filament (v4) + Laravel Breeze version

Filament 4/5

Your application might require adding Filament and your existing Laravel Breeze (or any other stack) application. In this example, we will show you how it's done and how you can have a single login page for all of them.

FilamentExamples ThumbBase (10)

Get the Source Code:

Only This Example

$9

One-time payment

Full source code for Tasks and Delivery System: Filament (v4) + Laravel Breeze version
Downloadable ZIP file with the source code
Lifetime access to this example
GitHub Sign in with GitHub to buy

Sign in first, then complete your $9 checkout.

Best value — all 173 examples

FilamentExamples Membership

$99 /year
or
$199 lifetime
Access to code of all 173 examples
Future new examples and updates included
FilaCheck Pro package licence included
MCP server included
View membership plans

30-day money-back guarantee

How it works

Let's start with the Filament Admin panel:

app/Providers/Filament/AdminPanelProvider.php

class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
->default()
->id('admin')
->path('admin')
// ...
}
}

In this panel, we will have 2 CRUDs:

  • User management
  • Task management

app/Filament/Resources/Users/UserResource.php

class UserResource extends Resource
{
protected static ?string $model = User::class;
 
protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-users';
 
protected static ?int $navigationSort = 1;
 
protected static ?string $recordTitleAttribute = 'name';
 
public static function form(Schema $schema): Schema
{
return UserForm::configure($schema);
}
 
public static function infolist(Schema $schema): Schema
{
return UserInfolist::configure($schema);
}
 
public static function table(Table $table): Table
{
return UsersTable::configure($table);
}
 
public static function getRelations(): array
{
return [
//
];
}
 
public static function getPages(): array
{
return [
'index' => ListUsers::route('/'),
'create' => CreateUser::route('/create'),
'view' => ViewUser::route('/{record}'),
'edit' => EditUser::route('/{record}/edit'),
];
}
 
public static function getGloballySearchableAttributes(): array
{
return ['name', 'email'];
}
 
public static function getGlobalSearchResultDetails(Model $record): array
{
return [
'Email' => $record->email,
'Role' => $record->role?->name,
];
}
 
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()->with(['role', 'driver']);
}
}

As you can see, we have not defined our Form or Table yet. In Filament v4, we define them as a separate file:

app/Filament/Resources/Users/Schemas/UserForm.php

class UserForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
Section::make('User Information')
->schema([
TextInput::make('name')
->required()
->maxLength(255),
TextInput::make('email')
->email()
->required()
->unique(ignoreRecord: true)
->maxLength(255),
// ...
}

Next, we will create:

  • Single Login page for Filament panel (Admins), Customer and Driver pages
  • Breeze Customer Task management
  • Breeze Driver Task management
  • Notifications to Customer about Task status changes
The FULL tutorial is available after the purchase: in the Readme file of the official repository you would get invited to.