Backend Patterns
sharedPractical backend architecture patterns for use cases, adapters, and reliability.
Layer ownership
application: use-case orchestration and business flowinfrastructure: providers, repositories, external integrationsinterface: transport adapters (oRPC, HTTP/OpenAPI, webhooks)
Core rules
- Keep provider SDK calls in infrastructure adapters only.
- Keep transport logic out of use cases.
- Keep business invariants in application/domain code.
- Keep contract/output mapping explicit at adapter boundaries.
Use-case style
- one primary use-case service per business action
- commands mutate state, queries read state
- prefer simple CQS over full CQRS unless proven necessary
Reliability baseline
- transactional core state changes
- side effects via async/event handlers when possible
- fail-fast env validation on startup
- health/readiness endpoints required for operations
Related deep reference
For detailed examples and naming conventions, see docs/architecture/23-backend-patterns.md.