# Moduły Eximee Core

**Eximee Core** stanowi fundament technologiczny Platformy Eximee.\
Zawiera komponenty odpowiedzialne za trwałość danych, wykonywanie procesów, generowanie dokumentów, centralne zarządzanie konfiguracją oraz repozytoryjne przechowywanie artefaktów aplikacji.\
Moduły te są współdzielone przez wszystkie aplikacje low-code zbudowane w środowisku Eximee.

## Eximee FormStore

### **Opis ogólny**

`Eximee FormStore` to wysokowydajne repozytorium dokumentów oraz struktur danych powstających podczas realizacji procesów biznesowych (wniosków, dyspozycji, umów).\
Jest kluczowym elementem zapewniającym **trwałość danych** w Eximee Platform oraz integrację z systemami zewnętrznymi w zakresie przechowywania i udostępniania dokumentów.

### **Funkcjonalność**

* Przechowywanie:
  * plików generowanych przez użytkowników lub automaty (np. PDF, XML, CSV),
  * struktur danych (np. JSON) tworzonych w procesach low-code,
  * metadanych i wersjonowania obiektów.
* Udostępnianie danych poprzez zunifikowane API.
* Integracja z Eximee Document Generator, Eximee BPMS i Eximee Case Management.
* Możliwość składowania dokumentów:
  * lokalnie (wewnętrzne repozytorium),
  * w systemach zewnętrznych ECM/DMS (np. repozytorium bankowe),
  * w nośnikach trwałych (zgodnych z wymogami KNF).

### **Cechy techniczne**

* Optymalizacja pod kątem wydajności i skalowalności (przechowywanie binarne + cache metadanych).
* Możliwość konfiguracji przestrzeni nazw i separacji danych środowiskowych.
* API REST zapewniające dostęp kontrolowany przez uprawnienia domenowe.

## Eximee Document Generator

### **Opis ogólny**

`Eximee Document Generator` to komponent odpowiedzialny za automatyczne tworzenie dokumentów PDF na podstawie szablonów przygotowanych w `Document Generator Tools`.\
Jego zadaniem jest **spójne i powtarzalne generowanie dokumentów** w procesach klienta – od wniosków, przez umowy, po potwierdzenia i raporty.

### **Funkcjonalność**

* Generowanie dokumentów w trzech kontekstach:
  * **na końcu formularza** (np. podsumowanie wniosku),
  * **w trakcie procesu** (np. projekt umowy),
  * **w ramach zadania automatycznego** w BPMS.
* Wykorzystanie dynamicznych szablonów (z warunkową widocznością sekcji).
* Obsługa kodów kreskowych i QR.
* Możliwość podpisania dokumentu (pieczęć bankowa, podpis kwalifikowany).
* Zapis dokumentów w:
  * Eximee FormStore,
  * zewnętrznym ECM,
  * systemie trwałego nośnika.

### **Integracje**

* Z `Eximee Model Runtime` (pobieranie danych modelu aplikacji),
* Z `Eximee Configuration Server` (pobieranie parametrów środowiska, branding),
* Z systemami zewnętrznymi przez API (np. wysyłka dokumentów e-mail, Contact Center).

## EximeeBPMS

### **Opis ogólny**

`EximeeBPMS` (Business Process Management System) to silnik procesów biznesowych oparty o notację **BPMN 2.0**, umożliwiający modelowanie, wykonywanie i monitorowanie procesów biznesowych.\
Został rozszerzony o komponenty wspierające **Case Management**, integrację z Eximee Forms oraz zarządzanie cyklem życia spraw i zadań.

### **Funkcjonalność**

* Uruchamianie procesów BPMN (silnik wywodzący się z *Camunda 7* lub alternatywny).
* Definiowanie user tasków i service tasków z poziomu Process Designer.
* Integracja z:
  * Eximee Forms – jako interfejs użytkownika procesu,
  * Eximee Model Runtime – jako źródło danych biznesowych,
  * Eximee Document Generator – jako usługa generująca dokumenty w toku procesu.
* Agregacja danych procesowych i historii do celów Case Management.
* Obsługa eventów systemowych (Event-Based Architecture).

### **Cechy techniczne**

* Modularna architektura z możliwością podmiany silnika procesowego (BPMN 2.0 compliant).
* Przechowywanie minimalnego zakresu danych w silniku (lightweight BPMS).
* Integracja z zewnętrznymi brokerami zdarzeń (Kafka, RabbitMQ).

## Eximee Data Model Runtime

### **Opis ogólny**

`Eximee Data Model Runtime` stanowi centralny komponent przechowujący dane aplikacji tworzonych w modelu low-code.\
Pozwala na dostęp do danych zarówno z poziomu formularzy, procesów, jak i serwisów aplikacyjnych.

### **Funkcjonalność**

* Przechowywanie danych zgodnie ze strukturą zaprojektowaną w *Data Model Designer*.
* Obsługa relacji, walidacji i reguł TTL.
* API dla komponentów formularzy, procesów i handlerów.
* Obsługa aktualizacji danych w czasie rzeczywistym.
* Zarządzanie danymi dynamicznymi i tymczasowymi (cache, in-memory).

### **Cechy techniczne**

* Struktura danych niezależna od silnika BPMS.
* Mechanizmy bezpieczeństwa danych (maskowanie, kontrola dostępu).
* Możliwość wykorzystania jako warstwy integracyjnej z bazami zewnętrznymi.

## Eximee Configuration Server

### **Opis ogólny**

`Eximee Configuration Server` to scentralizowany serwis dostarczający parametry konfiguracyjne dla aplikacji Eximee.\
Pozwala definiować wartości globalne, środowiskowe i tajne (sekrety).

### **Funkcjonalność**

* Przechowywanie i udostępnianie konfiguracji:
  * domyślnych (aplikacyjnych),
  * środowiskowych (np. test, prod),
  * tajnych (przez integrację z Vault).
* Obsługa dynamicznej zmiany konfiguracji (hot reload).
* GUI do zarządzania konfiguracją (moduł `Eximee Dashboard`).
* Walidacja poprawności struktur konfiguracyjnych.

### **Cechy techniczne**

* Zgodność ze strukturą konfiguracji aplikacji low-code.
* Możliwość wersjonowania zestawów konfiguracyjnych.
* REST API dla aplikacji klienckich.

## Eximee Repository

### **Opis ogólny**

`Eximee Repository` to bezpieczne repozytorium artefaktów platformy, przechowujące wszystkie definicje tworzonych aplikacji Eximee (formularze, procesy, szablony, modele danych, konfiguracje).\
Zapewnia kontrolę wersji, migracje między środowiskami oraz publikację artefaktów dla systemów klienckich.

### **Funkcjonalność**

* Przechowywanie artefaktów aplikacyjnych z pełnym wersjonowaniem.
* Budowanie złożonych artefaktów z komponentów składowych (kompozycja).
* Migracja aplikacji między środowiskami (eksport/import z kontrolą zależności).
* Kontrola dostępu i uprawnień do artefaktów.
* Publikowanie definicji dla klientów zewnętrznych (np. Eximee Forms).

### **Cechy techniczne**

* Wsparcie dla integracji z AD/LDAP w zakresie autoryzacji użytkowników.
* Logowanie zmian i historia wersji.
* API do automatyzacji migracji CI/CD.


---

# 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.eximee.com/wprowadzenie/architektura-platformy/moduly-wykonawcze/moduly-eximee-core.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.
