Overview
The boilerplate backend is organized around Core (cross-cutting) and Domains (vertical slices). The frontend is organized around features with Inertia pages and shared components.
Directory structure
Backend (app/)
Core/— Middleware, Models (Language, Setting, FeatureFlag), Observers, Policies, Providers, Services (PagePropsService, SupportedLocalesService, Ai/), Features (Pennant), Http/Controllers (base Controller and core controllers), Console/Commands (scaffolding, translations), Contracts, Inertia (TestingViewFinder).Domains/<Name>/— Auth, Blog, Contact, Dashboard, Faq, Landing, Page, Profile, Search, Testimonial. Each may have Http/, Models/, Observers/, Policies/, Queries/, Services/, Actions/, Jobs/, Console/Commands/.Filament/— Admin UI; resources reference Core/Domain models.
Frontend (resources/js/)
features/<name>/pages/— Inertia page components (e.g.blog/Index→features/blog/pages/Index.tsx).components/ui/— Shadcn primitives;components/common/— shared compositions.layouts/,hooks/,store/,themes/,i18n/,lib/,services/,types/.
flowchart LR
subgraph Backend
Core[Core]
Domains[Domains]
Filament[Filament]
end
subgraph Frontend
FeaturesJS[features/]
Components[components/]
Inertia[Inertia pages]
end
Domains --> Inertia
Core --> Domains
Filament --> Domains
Inertia --> FeaturesJS
Inertia --> Components