Architecture Overview
This document provides a high-level overview of the CMS architecture. For detailed technical specifications, see .context/global/architecture.md.System Components
The CMS consists of three main applications:1. CMS API (Backend)
Technology Stack:- Framework: Symfony 7.4 (PHP 8.3+)
- API Layer: API Platform 3.4
- Database: PostgreSQL 16
- Cache: Redis 7
- Storage: MinIO / AWS S3
- Multi-tenant data isolation
- Content management (articles, pages, media)
- Authentication & authorization
- RESTful API (JSON-LD + Hydra)
- Workflow management
- Content versioning
2. Front-Office (Public Website)
Technology Stack:- Framework: Nuxt 3 (Vue 3)
- Rendering: SSR (Server-Side Rendering)
- State: Pinia
- Styling: Tailwind CSS
- Display published content
- Multi-language support
- SEO optimization
- Dynamic block rendering
- Navigation menus
3. Back-Office (Admin Panel)
Technology Stack:- Framework: Vue 3 + Vite
- UI: Custom component library
- State: Pinia
- Forms: VeeValidate
- Content creation/editing
- Media library management
- User management
- Workflow actions
- Settings configuration
Multi-Tenancy Architecture
Schema-Per-Tenant Isolation
Each tenant gets a dedicated PostgreSQL schema for complete data isolation:- Complete isolation: No cross-tenant queries possible
- Independent scaling: Schemas can be moved to separate databases
- Security: Database-level isolation
- Backup flexibility: Per-tenant backups
Multi-Site Support (v0.13+)
One tenant can manage multiple sites:site column, filtered via X-Site-Id header
Communication Patterns
REST + JSON-LD/Hydra
All API responses follow JSON-LD format with Hydra vocabulary:- Self-documenting API
- Hypermedia controls
- Standard vocabulary
- Type safety
Authentication Flow
Caching Strategy
Tag-Aware Cache (Redis):articles- All article-related cachepages- All page-related cachesite_{id}- Site-specific cachemenu_{identifier}- Menu-specific cache
Data Flow
Content Creation Flow
Public Content Display Flow
Deployment Architecture
Development
Production (Recommended)
- API: Horizontal scaling (stateless)
- Database: Vertical scaling + read replicas
- Redis: Cluster mode for high availability
- S3: Unlimited storage, CDN integration
Design Patterns
Repository Pattern
Service Layer
Event-Driven Architecture
Further Reading
Multi-Tenancy
Deep dive into tenant isolation
Authentication
JWT authentication details
API Contracts
API endpoint specifications
Workflows
Editorial workflow system
Detailed Technical Specs: See .context/global/architecture.md