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/Indexfeatures/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

See Backend and Frontend for detail.


This site uses Just the Docs, a documentation theme for Jekyll.