# Low-Code Modules

**Low-Code Modules** constitute a set of development and administrative tools that enable the design, configuration, and publication of Eximee applications without the need to write program code.\
They allow analysts, process designers, and administrators to create complete business solutions based on visual editors, predefined components, and a central repository of artifacts.

Thanks to these tools, Eximee implements the idea of **citizen development** – enabling business applications to be built by subject-matter teams while maintaining security, quality, and integration standards with the bank’s infrastructure.<br>

## Architecture and role of the modules

### **General description**

The Low-Code modules create a coherent design and configuration environment that includes:

* designing process logic and user interfaces,
* defining data models,
* configuring documents, actions, permissions, and integrations,
* managing application versions and migrations.

Each module is responsible for a different aspect of the application lifecycle:

| Area                      | Tool                         | Purpose                                       |
| ------------------------- | ---------------------------- | --------------------------------------------- |
| Application modeling      | **Application Designer**     | Creating and organizing low-code applications |
| Data                      | **Data Model Designer**      | Defining the data structure                   |
| Forms                     | **Form Designer**            | Creating forms and screens                    |
| Logic                     | **Script Code Tools**        | Editing business logic (scripts)              |
| Documents                 | **Document Generator Tools** | Designing PDF templates                       |
| Processes                 | **Process Designer**         | BPMN process modeling                         |
| Cases and screens         | **Case Management Designer** | Configuration of screens and case lists       |
| Application configuration | **Configuration**            | Central management of business parameters     |

## Application Designer

### **Description**

`Application Designer` is the central low-code editor used to create and manage Eximee applications.\
It enables grouping all application artifacts (forms, processes, data models, documents, etc.) into logical application units.

### **The functionality**

* Creating new low-code applications.
* Versioning and publishing applications.
* Linking applications with environment configurations.
* Authenticating design users via AD or LDAP.
* Migrating applications between environments (DEV, UAT, PROD).
* Integration with Eximee Repository for versioning and dependency control.

### **Application**

This is the main work tool for analysts and application administrators, serving as the starting point for editing all other components (forms, processes, data models, etc.).<br>

## Data Model Designer

### **Description**

`Data Model Designer` is used to define the data model for a low-code application.\
It allows object structures, relationships, and validation rules to be created visually.

### **The functionality**

* Defining data fields and their types.
* Modeling relationships between objects.
* Determining data sources (internal and external).
* Integration with Eximee Model Runtime, which executes the data model in the runtime environment.

### **Technical features**

* Validation of model correctness before publication.
* Support for versioning of data structures.
* Automatic generation of JSON structures based on changes in the GUI<br>

## Form Designer

### **Description**

`Form Designer` is a graphical editor that enables the design of Eximee electronic forms in **drag & drop**mode.\
It allows user interfaces to be created without the need for programming.

### **The functionality**

* Creating forms from simple and complex components.
* Preview in the target graphic style (Design Style Guide).
* Defining pages, steps, and form completion progress.
* Managing field visibility, business logic, and data sources.
* Integration with processes (start and user task).
* Support for multilingualism and WCAG.
* Parameterization of actions performed after saving or submitting a form.

### **Application**

UX designers and analysts can create complete forms that are then run in Eximee Forms in various contexts (Portal, eBanking, BackOffice).<br>

## Script Code Tools

### **Description**

`Script Code Tools` is a business logic editor in the form of scripts (JavaScript).\
It allows the definition of form behavior, data operations, and step logic in processes.

### **The functionality**

* Editing scripts in the browser with syntax hints.
* Testing business logic from within the tool.
* Creating and versioning logic fragments (re-use).
* Defining validation rules, automatic calculations, and data transformations.
* Integration with Process Designer and Form Designer.

### **Technical features**

* Sandboxing mechanism (script isolation).
* Syntax validation.
* Unit tests.<br>

## Document Generator Tools

### **Description**

`Document Generator Tools` is used to define PDF document templates generated by the **Eximee Document Generator**.\
It enables the creation of dynamic documents compliant with the bank’s requirements.

### **The functionality**

* Designing document templates (contracts, confirmations, reports).
* Support for dynamic sections, tables, and visibility conditions.
* Inserting barcodes and QR codes.
* Preview of the finished document with test data.
* Full compliance with the bank’s graphic design and branding.

### **Integrations**

* With Eximee Model Runtime – to retrieve data for filling in the document.
* With Eximee Configuration Server – for environment parameters (logo, signatures, stamps).<br>

## Process Designer

### **Description**

`Process Designer` is a browser-based workflow process editor compliant with the notation **BPMN 2.0**.\
It allows business processes to be designed and documented, which are then executed in the module **Eximee BPMS**.

### **The functionality**

* Graphical modeling of processes (start, tasks, gateways, events).
* Attaching Eximee Forms forms as user tasks.
* Defining scripts and automatic actions (ScriptCode).
* Documenting processes (notes, descriptions, rules).
* Validation of BPMN model correctness.

### **Application**

It enables the creation of complete business processes (e.g. applications, requests, complaints) without the need for backend coding.<br>

## Case Management Designer

### **Description**

`Case Management Designer` is used to configure Case Management application screens – including task lists, case lists, detail views, and tile layouts.\
It allows the presentation layer of the operational user’s work to be fully customized.

### **The functionality**

* Defining task and case list views (columns, filters, sorting).
* Creating screen layouts and microapplication placement.
* Indicating microfrontends launched in the appropriate contexts.
* Designing visual tiles and manager dashboards.
* Integration with Eximee Repository for publishing and migrating configurations.<br>

## Configuration

### **Description**

`Configuration` is a module used for central management of the business configuration of low-code applications.\
It allows the definition of configuration values that can be used by other application components.

### **The functionality**

* Defining simple values, lists, and objects.
* Versioning and migration of configurations between environments.
* Access and permission control for configuration parameters.
* Integration with Eximee Configuration Server for dynamic loading of configuration at runtime.<br>

## Common features and deployment parameters

* **Environment consistency:** all tools share Eximee Repository and a unified authorization model.
* **Low-Code by Design:** every application element is created visually, with the possibility of extension via scripts.
* **Security:** full authorization of design users (AD/LDAP), version control, and change auditing.
* **Reusability:** components (forms, models, processes) can be shared between applications.
* **Versioning and migrations:** support for the application lifecycle in DEV–UAT–PROD environments.
* **Personalization:** the ability to adapt the layout of tools to the needs of project teams.
