A simplified repair salon system for managing orders and customers, applicable to any company with order status workflows. Features two Filament panels: an admin panel in app/Filament/Resources and a customer panel in app/Filament/Customer/Resources, with migrations and demo data seeds included.
Get the Source Code:
Only This Example
One-time payment
Sign in with GitHub to buy
Sign in first, then complete your $9 checkout.
FilamentExamples Membership
30-day money-back guarantee
How it works
This project contains two Filament panels, they are defined in these provider files:
- app/Providers/Filament/AdminPanelProvider.php
- app/Providers/Filament/CustomerPanelProvider.php
Example code with settings for the Customer panel, defining primary colors and top navigation:
class CustomerPanelProvider extends PanelProvider{ public function panel(Panel $panel): Panel { return $panel ->id('customer') ->path('customer') ->colors([ 'primary' => Color::Indigo, ]) ->login() ->topNavigation() // ...
The application consists of two resources: CustomerResource and OrderResource. The first one is very straightforward, almost default Filament. But Order Management has many more features.
- In the Form, we're using Select with
->getSearchResultsUsing()and->getOptionLabelUsing()searching for customer by name/email/phone - In Order Status, we're using a PHP Enum class for that Select
- In the Table, we're showing the First Name field but actually concatenating it with Last Name, by using the
->formatStateUsing()method - In the Table, we have custom actions for "Edit Status/notes" and "Cancel Order"
- We're using an Infolist as a "View order" page, showing all the notes/comments by the admin/customer in a custom View
The full code of the form/table/infolist methods of that Resource file: