Skip to main content

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 metadata
  • sites.hosting - Hosting provider configurations
  • sites.domains - Domain registration and DNS settings
  • sites.ssl - SSL certificate management and status
  • sites.backups - Backup schedules and restoration data
  • _accounts - Account-specific website configurations
  • activities - Website management activity logs
  • analytics.sites - Website traffic and performance analytics
  • notification-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
💬

Documentation Assistant

Ask me anything about the docs

Hi! I'm your documentation assistant. Ask me anything about the docs!

I can help you with:
- Code examples
- Configuration details
- Troubleshooting
- Best practices

Try asking: How do I configure the API?
09:31 AM