Knowledge Portal · engineering documentation

Skip to content

DDD Boundaries ​

Status: Federated from product architecture
Last updated: 2026-07-05


Authority documents ​

ProductDocument
PRD-001 (Dental Clinic ROS)PRD-001 module boundaries — 534 lines, all platform + product modules
PRD-000 (Experience Platform)PRD-000 module boundaries
RegistryRegistry dependency graph

Core rules (all products) ​

  1. No business logic in Controllers, Filament Resources, Form Requests, or Blade views
  2. Writes through Application Actions or Services only
  3. No cross-module Infrastructure imports — use contracts, events, Shared kernel
  4. DTO-first at module boundaries — never expose Eloquent models
  5. Clinic scoping — all clinic-owned data via ClinicAwareInterface (PRD-001)

Layer model ​

Domain/          → Entities, ValueObjects, Events, Enums (no framework)
Application/     → Actions, Services, DTOs, Queries, Contracts
Infrastructure/  → Models, Repositories, External integrations
Http/            → Controllers, Requests (thin)
Providers/       → Module registration

Context map (PRD-001 summary) ​

Bounded contextCommunicates via
Leads → CRMEvents, public application services
AI → CRM/LeadsTool handlers + contracts only
Marketing → LeadsEvents
Compliance → all content modulesReview workflows, events
Saas → all tenant modulesEntitlementContract, tenancy middleware

Full map: business-capability-map.md


Breadcrumbs: Home → Architecture → DDD Boundaries

ZAIXOS Knowledge Portal — public engineering docs at /docs · Staff operations at /admin