Structure

Below the structure of the framework.

        /Application/
             /bin/ [1]
             /boot/ [2]
             /docker/ [3]
             /Public/ [4]
             /tests/ [5]
             /vendor/ [6]
    
        /Mount/Asset/ [7]
        /Mount/Audio/ [8]
        /Mount/Backup/ [9]
        /Mount/Data/ [10]
        /Mount/Domain/ [11]      
        /Mount/Log/ [12]
        /Mount/Package/ [13]
        /Mount/Node/ [14]
        /Mount/Shared [15]
    
  1. Directory where the binary is called from the shell command
  2. Boot file and locks
  3. Docker compose files
  4. Public html directory
  5. Tests should be collected here.
  6. All source code lives here of the different packages in use
  7. Assets lives in a mount point, this can be a local or remote file system
  8. Audio recordings
  9. Backup target
  10. Data sources
  11. Domain sources per domain / subdomain.
  12. Log files
  13. Package directory where some software gets installed.
  14. Node files (Configuration data & validation & exposure)
  15. Shared directory, here lives doctrine entities, repository classes, system wide.
    Parser plugins, validation files.

There can be Volume.json file in the root of the project, an example is given below:


{
  "volume" : {
    "dir" : {
      "domain": "/mnt/Vps/Mount/Domain/",
      "audio": "/mnt/Vps/Mount/Audio/",
      "host": "/mnt/Vps/Mount/Host/",
      "log": "/mnt/Vps/Mount/Log/",
      "package": "/mnt/Vps/Mount/Package/",
      "node": "/mnt/Vps/Mount/Node/",
      "backup": "/mnt/Vps/Mount/Backup/",
      "data": "/mnt/Vps/Mount/Data/",
      "asset": "/mnt/Vps/Mount/Asset/",
      "component": "/mnt/Vps/Mount/Shared/Component/",
      "cli": "/mnt/Vps/Mount/Shared/Cli/",
      "event": "/mnt/Vps/Mount/Shared/Event/",
      "middleware": "/mnt/Vps/Mount/Shared/Middleware/",
      "plugin": "/mnt/Vps/Mount/Shared/Plugin/",
      "exception": "/mnt/Vps/Mount/Shared/Exception/",
      "mount": "/mnt/",
      "output": {
        "filter": "/mnt/Vps/Mount/Shared/OutputFilter/"
      },
      "source": "/mnt/Vps/Mount/Shared/",
      "shared": "/mnt/Vps/Mount/Shared/",
      "validate": "/mnt/Vps/Mount/Shared/Validate/",
      "validator": "/mnt/Vps/Mount/Shared/Validator/"
    }
  }
}

These directories are loaded into the configuration.

Then there is the ramdisk where some files are copied to or compiled in.

    /tmp/raxon/org/0/
        ./Cache/Node/List 
    /tmp/raxon/org/33/
        ./Cache/Node/List 
    /tmp/raxon/org/<uuid>/0/
        ./Autoload
        ./Node
        ./Parse
        ./View
    /tmp/raxon/org/<uuid>/33/
        ./Autoload
        ./Cache
        ./File
        ./Node
        ./Parse
        ./View