Skip to content

Know your Summer House Installation

David Rodriguez edited this page Jul 8, 2022 · 10 revisions

Summer House by Folders

  • summerhouse/.ddev/ contains all the config files for DDEV deploy system.
  • summerhouse/.settings/ contains some internal files with setting values for the Drupal installation.
  • summerhouse/backend_drupal/ contains all the codebase for the Drupal backend.
  • summerhouse/frontend_react/ contains all the codebase and resources for building up the frontend based in ReactJS.
  • summerhouse/mkdocs/ contain all the codebase for generating the Static site with documentation.
  • summerhouse/scripts/ contains diverse scripting resources organized by subfolders:
    • summerhouse/scripts/utilities/ bash scripts for basic tasks, like delete project or install Docker and DDEV.
    • summerhouse/scripts/composer/ have all the composer-related scripts for Composer commands.

Summer House by Containers

  • Drupal: web container for Drupal backend deploy.
  • React Frontend: web container for a React.JS frontend.
  • Portainer: web container with graphical interface for managing containers.
  • PhpMyAdmin: web container with graphical interface for managing database.
  • MkDocs: web container with a static site filled with Summer House documentation.

You can get information about the Summer House internal containers network by typing:

summerhouse$ ddev describe

Summer House by Pieces

Tooling for PHP code review

Summer House is provided with the most useful set of tooling for PHP code review, you can see all the available resources in main composer.json file, within the block require-dev:

   "require-dev": {
        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.2",
        "drupal/coder": "^8.3",
        "edgedesign/phpqa": "^1.26",
        "phpro/grumphp": "^1.5",
        "phpstan/phpstan": "^1.8",
        "sebastian/phpcpd": "^6.0",
        "slevomat/coding-standard": "^7.0",
        "squizlabs/php_codesniffer": "^3.7"
    }
  • phpcodesniffer-composer-installer: Allows for easy installation of coding standards.
  • coder: A library for automated Drupal code reviews and coding standard fixes.
  • phpqa: Set of tools for analyzing PHP code.
  • grumphp: Run PHP testing from Git commits.
  • phpstan: A static analysis tool for PHP.
  • phpcpd: Copy/Paste Detector (CPD) for PHP code.
  • coding-standard: Provides Sniffs for PHP revisions.
  • php_codesniffer: Provides phpcs for coding standards review and phpcbf for correct coding standards violations.

This set of tools is working in two scenarios:

  • Just after git commits in a local environment, based in a specific GrumPHP configuration through a grumphp.yml file in root folder.
  • Just after Pull Requesting in Github repository, based in custom configurations for Github Actions through ci.yml file in .github/workflows folder.

You can change, delete or adapt these files to your needs, just by editing them from your IDE/editor:

summerhouse_php_code_review_tooling