Initial commit: Telegram Management System
Some checks failed
Deploy / deploy (push) Has been cancelled
Some checks failed
Deploy / deploy (push) Has been cancelled
Full-stack web application for Telegram management - Frontend: Vue 3 + Vben Admin - Backend: NestJS - Features: User management, group broadcast, statistics 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
267
marketing-agent/docs/architecture/system-architecture.md
Normal file
267
marketing-agent/docs/architecture/system-architecture.md
Normal file
@@ -0,0 +1,267 @@
|
||||
# System Architecture - Marketing Intelligence Agent
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Admin Frontend │
|
||||
│ (React + TypeScript + Ant Design) │
|
||||
└─────────────────────────────────────┬───────────────────────────────────────┘
|
||||
│
|
||||
┌─────────┴──────────┐
|
||||
│ API Gateway │
|
||||
│ (Nginx/Kong) │
|
||||
└─────────┬──────────┘
|
||||
│
|
||||
┌─────────────────────────────┼─────────────────────────────┐
|
||||
│ │ │
|
||||
┌───────┴────────┐ ┌────────┴────────┐ ┌────────┴────────┐
|
||||
│ Orchestrator │ │ Claude Agent │ │ gramJS Adapter │
|
||||
│ Service │◄─────────►│ Service │◄────────►│ Service │
|
||||
└───────┬────────┘ └────────┬────────┘ └────────┬────────┘
|
||||
│ │ │
|
||||
│ ┌────────┴────────┐ │
|
||||
│ │ Safety Guard │ │
|
||||
│ │ Service │◄──────────────────┘
|
||||
│ └────────┬────────┘
|
||||
│ │
|
||||
┌───────┴────────┐ ┌────────┴────────┐ ┌─────────────────┐
|
||||
│ Analytics │ │ A/B Testing │ │ Compliance │
|
||||
│ Service │◄─────────►│ Service │◄────────►│ Guard │
|
||||
└────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
│ │ │
|
||||
└─────────────────────────────┼─────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────┼──────────────────────┐
|
||||
│ │ │
|
||||
┌───────┴────────┐ ┌───────┴────────┐ ┌────────┴────────┐
|
||||
│ PostgreSQL │ │ MongoDB │ │ Redis │
|
||||
│ (Main DB) │ │ (Events) │ │ (Cache/Queue) │
|
||||
└────────────────┘ └────────────────┘ └─────────────────┘
|
||||
```
|
||||
|
||||
## Service Descriptions
|
||||
|
||||
### 1. API Gateway (Port 8000)
|
||||
- **Purpose**: Central entry point for all API requests
|
||||
- **Technology**: Nginx or Kong
|
||||
- **Features**:
|
||||
- Request routing
|
||||
- Authentication
|
||||
- Rate limiting
|
||||
- Load balancing
|
||||
- SSL termination
|
||||
|
||||
### 2. Orchestrator Service (Port 3001)
|
||||
- **Purpose**: Task scheduling and workflow management
|
||||
- **Key Components**:
|
||||
- Task Queue Manager (BullMQ)
|
||||
- State Machine Engine (XState)
|
||||
- Task Scheduler
|
||||
- Workflow Engine
|
||||
- **Database**: PostgreSQL for task persistence
|
||||
|
||||
### 3. Claude Agent Service (Port 3002)
|
||||
- **Purpose**: AI-powered decision making and content generation
|
||||
- **Key Components**:
|
||||
- Claude API Integration
|
||||
- Function Calling Handler
|
||||
- Prompt Template Engine
|
||||
- Context Manager
|
||||
- Token Usage Tracker
|
||||
- **Integration**: Anthropic Claude API
|
||||
|
||||
### 4. gramJS Adapter Service (Port 3003)
|
||||
- **Purpose**: Telegram automation and messaging
|
||||
- **Key Components**:
|
||||
- Connection Pool Manager
|
||||
- Session Manager
|
||||
- Message Tools (send, create, invite, etc.)
|
||||
- Event Listener
|
||||
- FloodWait Handler
|
||||
- **Integration**: Telegram API via gramJS
|
||||
|
||||
### 5. Safety Guard Service (Port 3004)
|
||||
- **Purpose**: Compliance and safety enforcement
|
||||
- **Key Components**:
|
||||
- Rate Limiter
|
||||
- Content Filter
|
||||
- Keyword Blacklist
|
||||
- PII Scanner
|
||||
- ToS Compliance Checker
|
||||
- Account Health Monitor
|
||||
|
||||
### 6. Analytics Service (Port 3005)
|
||||
- **Purpose**: Data collection and analysis
|
||||
- **Key Components**:
|
||||
- Event Collector
|
||||
- Real-time Aggregator
|
||||
- Funnel Analyzer
|
||||
- User Segmentation
|
||||
- ROI Calculator
|
||||
- **Database**: MongoDB for event storage
|
||||
|
||||
### 7. A/B Testing Service (Port 3006)
|
||||
- **Purpose**: Experiment management and optimization
|
||||
- **Key Components**:
|
||||
- Experiment Engine
|
||||
- Traffic Splitter
|
||||
- Multi-Armed Bandit
|
||||
- Bayesian Optimizer
|
||||
- Statistical Calculator
|
||||
|
||||
### 8. Compliance Guard Service (Port 3007)
|
||||
- **Purpose**: Legal compliance and data protection
|
||||
- **Key Components**:
|
||||
- GDPR Compliance
|
||||
- CCPA Compliance
|
||||
- Data Privacy Scanner
|
||||
- Audit Logger
|
||||
- Consent Manager
|
||||
|
||||
## Data Flow
|
||||
|
||||
### Campaign Creation Flow
|
||||
```
|
||||
1. User → Admin UI → API Gateway
|
||||
2. API Gateway → Orchestrator Service
|
||||
3. Orchestrator → Claude Agent (Strategy Generation)
|
||||
4. Claude Agent → Safety Guard (Content Validation)
|
||||
5. Safety Guard → Orchestrator (Approved/Rejected)
|
||||
6. Orchestrator → Campaign Database
|
||||
```
|
||||
|
||||
### Message Sending Flow
|
||||
```
|
||||
1. Orchestrator → Task Queue
|
||||
2. Task Worker → gramJS Adapter
|
||||
3. gramJS Adapter → Safety Guard (Pre-check)
|
||||
4. Safety Guard → gramJS Adapter (Approved)
|
||||
5. gramJS Adapter → Telegram API
|
||||
6. Result → Analytics Service
|
||||
7. Analytics → Event Store
|
||||
```
|
||||
|
||||
### Human-in-the-Loop Flow
|
||||
```
|
||||
1. High-risk Task → Escalation Engine
|
||||
2. Escalation → Human Review Queue
|
||||
3. Admin UI → Review Interface
|
||||
4. Human Decision → Orchestrator
|
||||
5. Orchestrator → Continue/Abort Task
|
||||
```
|
||||
|
||||
## Infrastructure Components
|
||||
|
||||
### Message Queue (RabbitMQ)
|
||||
- Task distribution
|
||||
- Service communication
|
||||
- Event broadcasting
|
||||
- Dead letter queues
|
||||
|
||||
### Cache Layer (Redis)
|
||||
- Session storage
|
||||
- Rate limiting counters
|
||||
- Temporary data
|
||||
- Task queues (BullMQ)
|
||||
|
||||
### Search Engine (Elasticsearch)
|
||||
- Log aggregation
|
||||
- Full-text search
|
||||
- Analytics queries
|
||||
- Audit trail search
|
||||
|
||||
### Monitoring Stack
|
||||
- **Prometheus**: Metrics collection
|
||||
- **Grafana**: Visualization
|
||||
- **Jaeger**: Distributed tracing
|
||||
- **ELK Stack**: Log management
|
||||
|
||||
## Security Architecture
|
||||
|
||||
### Authentication & Authorization
|
||||
- JWT-based authentication
|
||||
- Role-based access control (RBAC)
|
||||
- API key management
|
||||
- OAuth2 integration
|
||||
|
||||
### Data Protection
|
||||
- End-to-end encryption
|
||||
- At-rest encryption
|
||||
- TLS/SSL for transit
|
||||
- Key rotation
|
||||
|
||||
### Network Security
|
||||
- VPC isolation
|
||||
- Security groups
|
||||
- WAF protection
|
||||
- DDoS mitigation
|
||||
|
||||
## Scalability Considerations
|
||||
|
||||
### Horizontal Scaling
|
||||
- Stateless services
|
||||
- Load balancer distribution
|
||||
- Database read replicas
|
||||
- Cache clustering
|
||||
|
||||
### Vertical Scaling
|
||||
- Resource monitoring
|
||||
- Auto-scaling groups
|
||||
- Performance tuning
|
||||
- Database optimization
|
||||
|
||||
### High Availability
|
||||
- Multi-AZ deployment
|
||||
- Failover mechanisms
|
||||
- Health checks
|
||||
- Backup strategies
|
||||
|
||||
## Deployment Architecture
|
||||
|
||||
### Container Orchestration
|
||||
```yaml
|
||||
Kubernetes Cluster:
|
||||
- Namespace: marketing-agent
|
||||
- Services: 8 microservices
|
||||
- Ingress: NGINX controller
|
||||
- Storage: PersistentVolumes
|
||||
- ConfigMaps: Environment configs
|
||||
- Secrets: Sensitive data
|
||||
```
|
||||
|
||||
### CI/CD Pipeline
|
||||
```
|
||||
1. Code Push → GitHub
|
||||
2. GitHub Actions → Build & Test
|
||||
3. Docker Build → Container Registry
|
||||
4. Kubernetes Deploy → Staging
|
||||
5. Integration Tests → Validation
|
||||
6. Blue-Green Deploy → Production
|
||||
```
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
### Service Communication
|
||||
- RESTful APIs for synchronous calls
|
||||
- RabbitMQ for asynchronous messaging
|
||||
- gRPC for high-performance internal communication
|
||||
|
||||
### Error Handling
|
||||
- Circuit breaker pattern
|
||||
- Retry with exponential backoff
|
||||
- Dead letter queues
|
||||
- Graceful degradation
|
||||
|
||||
### Logging & Monitoring
|
||||
- Structured logging (JSON)
|
||||
- Correlation IDs
|
||||
- Distributed tracing
|
||||
- Custom metrics
|
||||
|
||||
### Testing Strategy
|
||||
- Unit tests (>80% coverage)
|
||||
- Integration tests
|
||||
- End-to-end tests
|
||||
- Performance tests
|
||||
- Security tests
|
||||
Reference in New Issue
Block a user