Admin Panels
The app uses Filament v5 for its admin interface, with two separate panels for different user roles.
Panel Overview
| Panel | Default Path | Audience | Access |
|---|---|---|---|
| Agency | /agency | Lama Lama team | Full access to all resources |
| Shop Owner | /admin | Merchant / store staff | Limited, per-shop access |
Paths are configurable via AGENCY_PANEL_PATH and ADMIN_PANEL_PATH environment variables.
Agency Panel
The agency panel provides full access to all feature resources. Resources are feature-gated — they only appear when the corresponding feature flag is enabled.
Resources
| Resource | Feature Flag | Capabilities |
|---|---|---|
| Bundles | SHOPIFY_FEATURE_BUNDLES | Full CRUD: slots, items, anchors, pricing, discounts |
| Stores | SHOPIFY_FEATURE_STORE_LOCATOR | Full CRUD with geocoding, CSV import |
| Store Categories | SHOPIFY_FEATURE_STORE_LOCATOR | Category management |
| Wishlists | SHOPIFY_FEATURE_WISHLISTS | View and manage wishlists |
| OOS Subscriptions | SHOPIFY_FEATURE_OOS | View and manage subscriptions |
| Activity Logs | Always | Spatie activity log viewer |
Bundle Management
The bundle resource has a comprehensive form with:
- Bundle name, status, and pricing type
- Slots — configurable positions with product selection
- Slot Items — products/variants that can fill each slot
- Anchors — products that trigger the bundle display on PDP
- Discount configuration — pricing type, amount, and Shopify discount status
Shop Owner Panel
The shop owner panel is the default panel and provides a limited view suitable for merchants. It discovers resources from App\Filament\ShopOwner\Resources.
INFO
The shop owner panel is currently scaffolded but has no custom resources implemented yet. Resources will be added as needed per project.
User Roles
The User model implements FilamentUser with role-based panel access:
| Role | Enum | Agency Panel | Shop Owner Panel |
|---|---|---|---|
| Agency | UserRole::Agency | Yes | No |
| Shop Owner | UserRole::ShopOwner | No | Yes |
Creating Users
php artisan user:create admin@agency.com --role=agency --password=<password>
php artisan user:create owner@shop.com --role=shop_owner --password=<password>Observability Tools
In addition to Filament resources, the app includes:
- Horizon — Queue monitoring dashboard
- Log Viewer — Accessible to authorized IPs (configured via Gate in
AppServiceProvider) - Health Checks — Spatie Health at
/health