All code related to a module is stored in a single directory inside the modules directory of your Zabbix frontend installation (for example, zabbix/ui/modules).
example_module_directory/          (required)
          manifest.json                   (required)  Metadata and action definition.
          Module.php                                  Module initialization and event handling.
          actions/                                    Action controller files.
              SomethingView.php
              SomethingCreate.php
              SomethingDelete.php
              data_export/
                  ExportAsXml.php
                  ExportAsExcel.php
          views/                                      View files.
              example.something.view.php
              example.something.delete.php
          assets/                                     Any additional files to be used in views. Must be specified in manifest.json.
              js/                                     JavaScript files used in views.
                  example.something.view.js.php
              css/                                    CSS files used in views.
                  example.something.css
               image.png                              Images used in views.
               example.something.file                 Any file for using in views.A sample module writing process consists of the following steps (where available, click on the file or folder name to view additional details about the step):
You can register and enable a module as soon as you create manifest.json file. Once the module is enabled, you can preview all changes made to module files immediately by refreshing Zabbix frontend.