24
Architecture

Backend vs client

Understand the responsibility split between Laravel and Nuxt.

Backend responsibility

The backend is the source of truth for:

  • form schema and revisions
  • validation rules
  • publication windows and lifecycle state
  • ownership and scoped routes
  • response storage and export
  • public_url resolution
  • submission protection and business rules

Client responsibility

The client is responsible for:

  • rendering the current form or block
  • collecting user input
  • showing progress, previous, next, and submit controls
  • builder editing UX
  • standalone save/publish orchestration
  • admin screens built on composables

Shared contract

Both packages work on the same schema shape. The client must not invent backend rules on its own, and the backend must not depend on client-specific UI state.

QuestionOwns itNotes
Can this response be accepted?BackendValidation always happens on the server.
How should the form be displayed?ClientRenderer and builder are presentation concerns.
Is the form publishable?BackendPublication is part of the form lifecycle.
Should settings be visible in a system form?ClienthideSettings is a UI concern.
What is the public link?Backendpublic_url is resolved server-side.

If a rule affects data correctness, the backend must enforce it even if the client also mirrors the same rule for UX.