# Application Modules

The **Modules** tab of the Applications page enables you to manage which Modules are part of a specific Application. Applications are built as collections of Modules, and this page gives you full control over selecting, versioning, and configuring those Modules.

This ensures that all components of your Application - such as databases, visualization tools, data collectors, or analytical models - are deployed together in a consistent and reproducible way.

***

### Manage Application Modules

<figure><img src="/files/Iax6SHGieAzSEq8Qj7CX" alt=""><figcaption><p>The Modules Tab of an Application</p></figcaption></figure>

* **Add Modules from the Module Store**\
  Click the **Add Module** button to open the Module selection window. From here, you can browse and select Modules from the Nexus Module Store. You can search, filter by category, or select external/public Modules to include in your Application.
* **Application Version Control**\
  Whenever a module is added, remove or changed in any way, you can save the Application. This will generate a new version of the Application. Versioning gives you control over consistency across environments and allows you to upgrade or roll back versions as needed. Additionally updating an Application that has allready been deployed to devices, lets you easily [update the Application from the Update Center](/management-portal/management/update-center/updating-applications.md).
* **Edit Module Configuration**\
  Once a Module has been added, you can click the **pen icon** to edit its settings. The Module Settings window is similar to the standalone Module Settings page and allows you to configure:

  * **Create Options** (Docker/IoT Edge container settings such as exposed ports and resources)
  * **Routes** (messaging/data flow between modules)
  * **Parameters** (application-specific configuration values)
  * **Desired Twin** (synchronization of module configuration with the device twin)

  For details about Module Configuration please see [Module Settings](/management-portal/designer/modules/module-settings.md).
* **Upgrade All**\
  If newer versions of included Modules are available, you can quickly update them in bulk using the **Upgrade All** action, or upgrade them individually.
* **Remove Modules**\
  Modules can be removed from the Application if they are no longer needed using the **Trashcan** action.

***

### Add a Module to an Application

<figure><img src="/files/MAuXVkcXB4BCC3aHSyTp" alt=""><figcaption><p>Select a Module to add from the Module Store</p></figcaption></figure>

1. **Add Module**
   * Click the **Add Module** button.
   * Select a Module from the [Module Store](/management-portal/designer/modules/module-store.md) in the **Select Module** window.
   * Confirm your selection to add it to the Application.
2. **Select Version**
   * As default the latest version of the Module will be added
   * You can optionally choose another version of the Module (for example, `grafana/grafana:11.3.0`).
   * You can always change or upgrade the version later.
3. **Configure Module Settings**

   <figure><img src="/files/UA5Vqu0qvs3kp2NYLATW" alt=""><figcaption><p>Configuring Module Settings</p></figcaption></figure>

   * Click the **pen icon** to open the Module Settings window.
   * The Options in the Module Settings window is explained in detail in the [Module Settings](/management-portal/designer/modules/module-settings.md) page.
   * Configure container settings, routing, parameters, or twin data as required.
4. **Manage the Application Module List**
   * View all Modules currently included in the Application.
   * Track current and latest versions to ensure consistency.
   * Remove any unneeded Modules using the **delete icon**.

***

### Example Use Cases

* **OEE Application**: Bundle `TimeScaleDB`, `Grafana`, and a custom `OEE Module`.
* **Data Processing Application**: Combine a data collector, Kafka broker, and Redis storage.
* **Machine Learning Application**: Add an ML inference Module, local storage, and a visualization Module like Grafana.

***

### Next Steps

* Learn how to check where Applications has been deployed in the [Application Statistics](/management-portal/designer/applications/application-statistics.md) tab
* Explore [Device Configuration](/management-portal/management/device-configuration.md) to override module settings for an Application.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tricloudnexus.io/management-portal/designer/applications/application-modules.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
