ADR-001: Modular Monolith Architecture
- Status: Accepted
- Date: 2026-07-01
- Deciders: Architecture Team
Context
MetaPilot requires clear subsystem boundaries (Users, Tenants, Campaigns, Templates, Messaging, Scheduler) without the early complexity, deployment friction, and network overhead of microservices.
Decision
We adopt a Modular Monolith architecture using Django applications within a single backend package (). Applications communicate in-process using python service calls and Django signals.
services/apiConsequences
- Positive: High developer velocity, single database deployment, simplified transactions.
- Negative: Requires strict discipline to prevent cross-app circular imports.