Skip to content

Client

The client/ directory contains code that runs exclusively in the browser. This includes UI components, client-side routing, reactive state, and anything that interacts directly with the DOM or browser APIs.

Client code has access to browser globals (window, document, localStorage, etc.) and can import front-end libraries, but it must never reference Node.js built-ins or server-only modules.

What belongs here

  • Vue components and pages
  • Client-side routes
  • Browser event handling
  • UI state management
  • Calls to the server API via $fetch

What does not belong here

  • Database access
  • File system operations
  • Server environment variables
  • Any Node.js-only module (fs, path, crypto, etc.)

Facades

Client-side facades live in client/facades/ and provide access to shared services scoped to the browser context. For example, config.facade.ts exposes a plain in-memory ConfigService instance that can be populated at runtime from API responses.