Engineering
Technical documentation for CRM platform development.
Architecture & Design
| Document | Description |
|---|---|
| Architecture | System architecture and design decisions |
| Data Model | Prisma schema and database design |
| Event System | Event-driven architecture |
| Queue Workers | BullMQ job processing |
| Testing Strategy | Testing approach and patterns |
AI Features
| Document | Description |
|---|---|
| AI Segment Builder | Natural language to segment criteria |
Reference Library
- CRM Reference Docs - Specifications, data models, APIs, and implementation phases
Project Structure
libs/
├── prisma/crm-client/ # Prisma schema and client
├── crm/core/ # Core services
├── crm/events/ # Event processing
├── crm/campaigns/ # Campaign management
├── crm/automation/ # Marketing automation
└── crm/social/ # Social integration
apps/
└── crm/crm-backend/ # NestJS application
Key Design Decisions
- CRM owns segmentation - Rich cross-service data, Messaging handles delivery
- Event-driven sync - All data flows via events, not direct queries
- Denormalization - Frequently queried data on CustomerProfile
- Consent in Messaging - CRM only reads consent, never writes