Skip to content
KMD Agency Documentation

Architecture Overview

KMD Agency is a Laravel + Inertia + React application — a single codebase serving both the public marketing site and the authenticated portal, with no separate frontend deployment or API layer to keep in sync.

Stack

LayerTechnology
Backend frameworkLaravel 13
PHP8.3+
FrontendReact 19 + TypeScript, rendered server-driven via Inertia.js
StylingTailwind CSS
DatabaseMySQL/MariaDB, SQLite, or PostgreSQL
AuthorizationSpatie Laravel Permission — role-and-permission based, checked server-side on every request

Design principles worth knowing

  • Authorization is never client-side only. Every permission check that matters is enforced on the server; the frontend hiding a button is a convenience, never the actual boundary.
  • Content is a closed block vocabulary, not an open page builder. Pages and blog posts share one fixed set of block types (see Content Blocks Reference) rather than an arbitrary drag-and-drop system — this keeps every layout looking correct on your theme by construction.
  • Settings are database-backed, not scattered across config files. Anything a Super Admin can reasonably expect to change without editing code lives in the database and is editable from the portal.
  • The update system never touches your data. Application code is the only thing an update replaces — see Auto-Updates.