Design Principles
MDCMS follows a small set of architectural invariants that inform every subsystem.Deployment Topology
A production MDCMS deployment consists of the server process, a PostgreSQL database, a Redis instance for session caching and rate limiting, and S3-compatible object storage for media assets. Clients interact through the TypeScript SDK or the embedded Studio component.In local development,
docker-compose.dev.yml starts PostgreSQL, Redis, and
MinIO automatically. The server, Studio, and studio-example app run via bun run dev.Technology Stack
Every technology choice has a specific justification. The table below documents the role and rationale for each dependency.Monorepo Structure
MDCMS is an Nx-managed Bun workspace. The repository is organized intoapps/ (deployable applications) and packages/ (shared libraries).
Package Dependency Graph
The packages and apps form a directed dependency graph. Core contracts flow fromshared outward; higher-level packages never depend on apps.