Sites Module
The Sites Module provides comprehensive website management capabilities, including hosting configuration, domain management, SSL certificates, and website analytics for all client websites within the DashClicks platform.
Brief Overview
The Sites module serves as the central hub for website management operations, providing hosting infrastructure management, domain configuration, SSL certificate provisioning, and comprehensive website analytics. It integrates with various hosting providers and domain registrars to offer complete website lifecycle management.
Directory Structure
internal/api/v1/sites/
├── index.js # Module router and middleware setup
├── controllers/ # Request handlers
│ ├── index.js # Controller exports
│ ├── sites.js # Website management
│ ├── hosting.js # Hosting configuration
│ ├── domains.js # Domain management
│ ├── ssl.js # SSL certificate management
│ ├── analytics.js # Website analytics
│ ├── backups.js # Backup management
│ ├── security.js # Security configurations
│ └── performance.js # Performance optimization
├── routes/ # Route definitions
│ ├── sites.js # Site management routes
│ ├── hosting.js # Hosting routes
│ ├── domains.js # Domain routes
│ ├── ssl.js # SSL routes
│ ├── analytics.js # Analytics routes
│ ├── backups.js # Backup routes
│ ├── security.js # Security routes
│ └── performance.js # Performance routes
├── services/ # Business logic layer
│ ├── sites.service.js # Site management logic
│ ├── hosting.service.js # Hosting operations
│ ├── domains.service.js # Domain management logic
│ ├── ssl.service.js # SSL certificate logic
│ ├── analytics.service.js # Analytics processing
│ ├── backups.service.js # Backup operations
│ ├── security.service.js # Security management
│ └── performance.service.js # Performance optimization
├── validations/ # Joi validation schemas
│ ├── sites.js # Site validation
│ ├── hosting.js # Hosting validation
│ ├── domains.js # Domain validation
│ └── ssl.js # SSL validation
├── middlewares/ # Custom middleware
│ ├── site-auth.js # Site access control
│ ├── hosting-monitor.js # Hosting monitoring
│ └── domain-verify.js # Domain verification
├── utils/ # Utility functions
│ ├── hosting-providers.js # Hosting provider integrations
│ ├── domain-registrars.js # Domain registrar APIs
│ ├── ssl-provisioning.js # SSL certificate provisioning
│ └── analytics-aggregator.js # Analytics data aggregation
└── tests/ # Test suites
├── sites.test.js # Site management tests
├── hosting.test.js # Hosting tests
└── domains.test.js # Domain tests
MongoDB Collections Used
Primary Collections
sites.sites- Website configurations and metadatasites.hosting- Hosting provider configurationssites.domains- Domain registration and DNS settingssites.ssl- SSL certificate management and statussites.backups- Backup schedules and restoration data
Related Collections
_accounts- Account-specific website configurationsactivities- Website management activity logsanalytics.sites- Website traffic and performance analyticsnotification-queue- Site status and alert notifications_store.products- Hosting and domain product configurations_users- User permissions for website management
Data Flow & Workflow
Website Deployment Flow
graph TD
A[Website Deployment Request] --> B[Hosting Configuration]
B --> C[Domain Setup]
C --> D[DNS Configuration]
D --> E[SSL Certificate Provisioning]
E --> F[Security Configuration]
F --> G[Performance Optimization]
G --> H[Health Check Setup]
H --> I[Analytics Configuration]
I --> J[Queue Manager Processing]
J --> K[Deployment Verification]
J --> L[Monitoring Setup]
J --> M[Backup Configuration]
Domain Management Flow
graph TD
A[Domain Registration Request] --> B[Domain Availability Check]
B --> C[Registrar Selection]
C --> D[Domain Registration]
D --> E[DNS Configuration]
E --> F[Domain Verification]
F --> G[SSL Certificate Request]
G --> H[Domain Activation]
H --> I[Queue Manager Processing]
I --> J[DNS Propagation Check]
I --> K[Certificate Installation]
I --> L[Domain Monitoring Setup]
Backup and Recovery Flow
graph TD
A[Backup Schedule] --> B[Site Data Collection]
B --> C[Database Backup]
C --> D[File System Backup]
D --> E[Backup Validation]
E --> F[Storage Upload]
F --> G[Backup Verification]
G --> H[Retention Management]
H --> I[Queue Manager Processing]
I --> J[Backup Analytics]
I --> K[Recovery Testing]
I --> L[Cleanup Operations]
Background Processing
Queue Manager Integration
The Sites module utilizes Queue Manager for comprehensive website operations:
Site Deployment (QM_SITES_DEPLOYMENT=true)
- Automated website deployment and configuration
- Hosting provider integration and setup
- Performance optimization and caching
- Health check and monitoring setup
Domain Management (QM_SITES_DOMAINS=true)
- Domain registration and renewal processing
- DNS configuration and propagation monitoring
- Domain transfer and migration operations
- WHOIS privacy and protection management
SSL Certificate Management (QM_SITES_SSL=true)
- Automated SSL certificate provisioning
- Certificate renewal and lifecycle management
- Let's Encrypt integration and automation
- Certificate validation and monitoring
Backup Operations (QM_SITES_BACKUPS=true)
- Scheduled website backup operations
- Database and file system backup processing
- Backup verification and integrity checks
- Automated restoration testing
Analytics Processing (QM_SITES_ANALYTICS=true)
- Website traffic analytics aggregation
- Performance metrics collection and analysis
- SEO monitoring and reporting
- User engagement and conversion tracking
Sites Submodules
The Sites module can be organized into specialized submodules for comprehensive website management:
🌐 Website Management
Core Website Operations
- Website creation, configuration, and lifecycle management
- Website status monitoring and health checks
- Website categorization and organization systems
- Multi-site management and bulk operations
- Website migration tools and utilities
- Website archival and data retention policies
🏠 Hosting Management
Website Hosting and Infrastructure
- Hosting provider integration and management
- Server resource allocation and scaling
- Performance optimization and caching strategies
- CDN configuration and global distribution
- Load balancing and traffic management
- Hosting cost optimization and monitoring
🌍 Domain Administration
Domain and DNS Management
- Custom domain registration and configuration
- DNS management and record configuration
- Domain verification and ownership validation
- SSL certificate provisioning and renewal
- Domain transfer and migration services
- Domain analytics and performance monitoring
🔒 Security Management
Website Security and Protection
- SSL certificate management and monitoring
- Security scanning and vulnerability assessment
- Firewall configuration and threat protection
- Malware detection and removal services
- Security audit logging and compliance reporting
- DDoS protection and mitigation strategies
📊 Performance Analytics
Website Performance Monitoring
- Website speed and performance monitoring
- User experience metrics and Core Web Vitals
- Traffic analytics and visitor behavior tracking
- SEO performance monitoring and optimization
- Conversion tracking and goal management
- Performance benchmarking and competitive analysis
💾 Backup & Recovery
Data Protection and Disaster Recovery
- Automated backup scheduling and management
- Point-in-time recovery and restoration
- Database backup and synchronization
- File system backup and version control
- Disaster recovery planning and testing
- Backup verification and integrity checking