# Moduły Low-Code

**Moduły Low-Code** stanowią zestaw narzędzi deweloperskich i administracyjnych umożliwiających projektowanie, konfigurację i publikację aplikacji Eximee bez konieczności pisania kodu programistycznego.\
Pozwalają one analitykom, projektantom procesów i administratorom tworzyć kompletne rozwiązania biznesowe w oparciu o wizualne edytory, predefiniowane komponenty oraz centralne repozytorium artefaktów.

Dzięki tym narzędziom Eximee realizuje ideę **citizen development** – umożliwiając tworzenie aplikacji biznesowych przez zespoły merytoryczne, z zachowaniem standardów bezpieczeństwa, jakości i integracji z infrastrukturą banku.<br>

## Architektura i rola modułów

### **Opis ogólny**

Moduły Low-Code tworzą spójne środowisko projektowo-konfiguracyjne, które obejmuje:

* projektowanie logiki procesowej i interfejsów użytkownika,
* definiowanie modeli danych,
* konfigurację dokumentów, akcji, uprawnień i integracji,
* zarządzanie wersjami i migracjami aplikacji.

Każdy z modułów odpowiada za inny aspekt cyklu życia aplikacji:

| Obszar                 | Narzędzie                    | Cel                                           |
| ---------------------- | ---------------------------- | --------------------------------------------- |
| Modelowanie aplikacji  | **Application Designer**     | Tworzenie i organizacja aplikacji low-code    |
| Dane                   | **Data Model Designer**      | Definiowanie struktury danych                 |
| Formularze             | **Form Designer**            | Tworzenie formularzy i ekranów                |
| Logika                 | **Script Code Tools**        | Edycja logiki biznesowej (skrypty)            |
| Dokumenty              | **Document Generator Tools** | Projektowanie szablonów PDF                   |
| Procesy                | **Process Designer**         | Modelowanie procesów BPMN                     |
| Case’y i ekrany        | **Case Management Designer** | Konfiguracja ekranów i list spraw             |
| Konfiguracja aplikacji | **Configuration**            | Centralne zarządzanie parametrami biznesowymi |

## Application Designer

### **Opis**

`Application Designer` to centralny edytor low-code służący do tworzenia i zarządzania aplikacjami Eximee.\
Umożliwia grupowanie wszystkich artefaktów aplikacyjnych (formularzy, procesów, modeli danych, dokumentów itp.) w logiczne jednostki aplikacyjne.

### **Funkcjonalność**

* Tworzenie nowych aplikacji low-code.
* Wersjonowanie i publikowanie aplikacji.
* Powiązanie aplikacji z konfiguracjami środowiskowymi.
* Autentykacja użytkowników projektowych poprzez AD lub LDAP.
* Migracja aplikacji pomiędzy środowiskami (DEV, UAT, PROD).
* Integracja z Eximee Repository w zakresie wersjonowania i kontroli zależności.

### **Zastosowanie**

To główne narzędzie pracy analityków i administratorów aplikacji, będące punktem wyjścia do edycji wszystkich pozostałych komponentów (formularzy, procesów, modeli danych itd.).<br>

## Data Model Designer

### **Opis**

`Data Model Designer` służy do definiowania modelu danych dla aplikacji low-code.\
Umożliwia tworzenie struktur obiektowych, powiązań i reguł walidacyjnych w formie wizualnej.

### **Funkcjonalność**

* Definiowanie pól danych i ich typów.
* Modelowanie relacji między obiektami.
* Określanie źródeł danych (wewnętrznych i zewnętrznych).
* Integracja z Eximee Model Runtime, który wykonuje model danych w środowisku runtime.

### **Cechy techniczne**

* Walidacja poprawności modelu przed publikacją.
* Wsparcie dla wersjonowania struktur danych.
* Automatyczne generowanie struktur JSON na podstawie zmian w GUI<br>

## Form Designer

### **Opis**

`Form Designer` to edytor graficzny umożliwiający projektowanie formularzy elektronicznych Eximee w trybie **drag & drop**.\
Umożliwia tworzenie interfejsów użytkownika bez konieczności programowania.

### **Funkcjonalność**

* Tworzenie formularzy z komponentów prostych i złożonych.
* Podgląd w docelowej szacie graficznej (Design Style Guide).
* Definiowanie stron, kroków i progresu wypełniania formularza.
* Zarządzanie widocznością pól, logiką biznesową i źródłami danych.
* Integracja z procesami (start i user task).
* Obsługa wielojęzyczności i WCAG.
* Parametryzacja akcji wykonywanych po zapisaniu lub wysłaniu formularza.

### **Zastosowanie**

Projektanci UX i analitycy mogą tworzyć kompletne formularze, które później są uruchamiane w Eximee Forms w różnych kontekstach (Portal, eBankowość, BackOffice).<br>

## Script Code Tools

### **Opis**

`Script Code Tools` to edytor logiki biznesowej w postaci skryptów (JavaScript).\
Pozwala definiować zachowania formularzy, operacje na danych oraz logikę kroków w procesach.

### **Funkcjonalność**

* Edycja skryptów w przeglądarce z podpowiadaniem składni.
* Testowanie logiki biznesowej z poziomu narzędzia.
* Tworzenie i wersjonowanie fragmentów logiki (re-use).
* Definiowanie reguł walidacyjnych, automatycznych kalkulacji i transformacji danych.
* Integracja z Process Designerem i Form Designerem.

### **Cechy techniczne**

* Mechanizm sandboxowania (izolacja skryptów).
* Walidacja składni.
* Testy jednostkowe.<br>

## Document Generator Tools

### **Opis**

`Document Generator Tools` służy do definiowania szablonów dokumentów PDF generowanych przez moduł **Eximee Document Generator**.\
Umożliwia tworzenie dynamicznych dokumentów zgodnych z wymogami banku.

### **Funkcjonalność**

* Projektowanie szablonów dokumentów (umowy, potwierdzenia, raporty).
* Obsługa dynamicznych sekcji, tabel i warunków widoczności.
* Wstawianie kodów kreskowych i QR.
* Podgląd gotowego dokumentu z danymi testowymi.
* Pełna zgodność z projektem graficznym i brandingiem banku.

### **Integracje**

* Z Eximee Model Runtime – w celu pobierania danych do wypełnienia dokumentu.
* Z Eximee Configuration Server – dla parametrów środowiskowych (logo, podpisy, pieczęcie).<br>

## Process Designer

### **Opis**

`Process Designer` to przeglądarkowy edytor procesów workflow zgodnych z notacją **BPMN 2.0**.\
Pozwala na projektowanie i dokumentowanie procesów biznesowych, które są następnie wykonywane w module **Eximee BPMS**.

### **Funkcjonalność**

* Graficzne modelowanie procesów (start, taski, gateway, eventy).
* Podpinanie formularzy Eximee Forms jako user tasków.
* Definiowanie skryptów i akcji automatycznych (ScriptCode).
* Dokumentowanie procesów (notatki, opisy, reguły).
* Walidacja poprawności modelu BPMN.

### **Zastosowanie**

Umożliwia tworzenie kompletnych procesów biznesowych (np. wnioski, dyspozycje, reklamacje) bez potrzeby kodowania po stronie backendu.<br>

## Case Management Designer

### **Opis**

`Case Management Designer` służy do konfigurowania ekranów aplikacji Case Management – w tym list zadań, list spraw, widoków szczegółowych oraz układów kafelkowych.\
Pozwala w pełni dostosować warstwę prezentacyjną pracy użytkownika operacyjnego.

### **Funkcjonalność**

* Definiowanie widoków list zadań i spraw (kolumny, filtry, sortowanie).
* Tworzenie layoutów ekranów i rozmieszczenia mikroaplikacji.
* Wskazywanie mikrofrontendów uruchamianych w odpowiednich kontekstach.
* Projektowanie kafelków wizualnych (tiles) i dashboardów menedżerskich.
* Integracja z Eximee Repository dla publikacji i migracji konfiguracji.<br>

## Configuration

### **Opis**

`Configuration` to moduł służący do centralnego zarządzania konfiguracją biznesową aplikacji low-code.\
Pozwala definiować wartości konfiguracyjne, które mogą być wykorzystywane przez inne komponenty aplikacji.

### **Funkcjonalność**

* Definiowanie wartości prostych, list, obiektów.
* Wersjonowanie i migracja konfiguracji między środowiskami.
* Kontrola uprawnień i dostępów do parametrów konfiguracyjnych.
* Integracja z Eximee Configuration Server dla dynamicznego ładowania konfiguracji w runtime.<br>

## Cechy wspólne i parametry wdrożeniowe

* **Spójność środowiska:** wszystkie narzędzia współdzielą Eximee Repository i jednolity model autoryzacji.
* **Low-Code by Design:** każdy element aplikacji tworzony jest wizualnie, z możliwością rozszerzenia o skrypty.
* **Bezpieczeństwo:** pełna autoryzacja użytkowników projektowych (AD/LDAP), kontrola wersji i audyt zmian.
* **Reużywalność:** komponenty (formularze, modele, procesy) mogą być współdzielone między aplikacjami.
* **Wersjonowanie i migracje:** wsparcie dla cyklu życia aplikacji w środowiskach DEV–UAT–PROD.
* **Personalizacja:** możliwość dostosowania layoutu narzędzi do potrzeb zespołów projektowych.
