🧩 Components

The project consists of:

  • Django apps (generator, employee)
  • Admin panel (/admin/) with custom actions
  • Celery worker for background operations (deploy/transfer/import)
  • PostgreSQL — main DB
  • Redis — Celery broker
  • Storage — local or S3‑compatible
  • Domain SFTP servers — deployment target
  • Health checks (django-health-check)

🔁 Creation & deployment flow

  1. User creates:
    • Template (HTML/CSS/JS)
    • ButtonsContainer (buttons + labels)
    • CodeSnippet and ServiceWorker
  2. A Landing is created and domains are selected
  3. Deploy is triggered in Admin
  4. Celery runs LandingDeploymentProcessor:
    • renders HTML via Jinja2
    • connects via SFTP
    • recreates the route directory
    • uploads index.php, media, and JS
  5. A Deployment record is created and landing_links are stored

🔁 Landing transfer

Two modes:

  • By Landing object — creates a copy and deploys it to a new domain
  • By URL — copies files over SFTP to a new domain

Results are stored in LandingTransferLog.

📦 Domain import

Admin accepts XLSX:

  1. file is validated (structure, domain validity, SFTP access)
  2. valid rows are saved into Domain
  3. a DomainsImportLog record is created with status and errors

0 items under this folder.