# Eximee Core Modules

**Eximee Core** forms the technological foundation of the Eximee Platform.\
It contains components responsible for data durability, process execution, document generation, centralized configuration management, and repository storage of application artifacts.\
These modules are shared by all low-code applications built in the Eximee environment.

## Eximee FormStore

### **General description**

`Eximee FormStore` is a high-performance repository for documents and data structures created during the execution of business processes (applications, instructions, contracts).\
It is a key element ensuring **data durability** in Eximee Platform and integration with external systems for document storage and sharing.

### **Functionality**

* Storage of:
  * files generated by users or automation (e.g. PDF, XML, CSV),
  * data structures (e.g. JSON) created in low-code processes,
  * metadata and object versioning.
* Data sharing through a unified API.
* Integration with Eximee Document Generator, Eximee BPMS and Eximee Case Management.
* Possibility of storing documents:
  * locally (internal repository),
  * in external ECM/DMS systems (e.g. a bank repository),
  * on durable media (compliant with KNF requirements).

### **Technical features**

* Optimized for performance and scalability (binary storage + metadata cache).
* Ability to configure namespaces and separate environment data.
* REST API providing access controlled by domain permissions.

## Eximee Document Generator

### **General description**

`Eximee Document Generator` is a component responsible for automatically creating PDF documents based on templates prepared in `Document Generator Tools`.\
Its task is **consistent and repeatable document generation** in customer processes – from applications, through contracts, to confirmations and reports.

### **Functionality**

* Document generation in three contexts:
  * **at the end of the form** (e.g. application summary),
  * **during the process** (e.g. contract draft),
  * **within an automatic task** in BPMS.
* Use of dynamic templates (with conditional section visibility).
* Support for barcodes and QR codes.
* Ability to sign the document (bank seal, qualified signature).
* Saving documents in:
  * Eximee FormStore,
  * external ECM,
  * durable media system.

### **Integrations**

* With `Eximee Model Runtime` (retrieving application model data),
* With `Eximee Configuration Server` (retrieving environment parameters, branding),
* External systems via API (e.g. email document sending, Contact Center).

## EximeeBPMS

### **General description**

`EximeeBPMS` (Business Process Management System) is a business process engine based on the notation **BPMN 2.0**, enabling modeling, execution, and monitoring of business processes.\
It has been extended with components supporting **Case Management**, integration with Eximee Forms, and case and task lifecycle management.

### **Functionality**

* Running BPMN processes (engine derived from *Camunda 7* or alternative).
* Defining user tasks and service tasks from the Process Designer level.
* Integration with:
  * Eximee Forms – as the process user interface,
  * Eximee Model Runtime – as the source of business data,
  * Eximee Document Generator – as the service generating documents during the process.
* Aggregation of process data and history for Case Management purposes.
* Handling system events (Event-Based Architecture).

### **Technical features**

* Modular architecture with the ability to replace the process engine (BPMN 2.0 compliant).
* Storing only the minimum amount of data in the engine (lightweight BPMS).
* Integration with external event brokers (Kafka, RabbitMQ).

## Eximee Data Model Runtime

### **General description**

`Eximee Data Model Runtime` is a central component storing data of applications created in the low-code model.\
It enables access to data both from forms, processes, and application services.

### **Functionality**

* Storing data according to the structure designed in *Data Model Designer*.
* Support for relations, validation, and TTL rules.
* API for form components, processes, and handlers.
* Support for real-time data updates.
* Management of dynamic and temporary data (cache, in-memory).

### **Technical features**

* Data structure independent of the BPMS engine.
* Data security mechanisms (masking, access control).
* Ability to be used as an integration layer with external databases.

## Eximee Configuration Server

### **General description**

`Eximee Configuration Server` is a centralized service providing configuration parameters for Eximee applications.\
It allows defining global, environment, and secret values (secrets).

### **Functionality**

* Storage and sharing of configuration:
  * default (application)
  * environmental (e.g. test, prod),
  * secret (through integration with Vault).
* Support for dynamic configuration changes (hot reload).
* GUI for configuration management (module `Eximee Dashboard`).
* Validation of the correctness of configuration structures.

### **Technical features**

* Compliance with the structure of the low-code application configuration.
* Ability to version configuration sets.
* REST API for client applications.

## Eximee Repository

### **General description**

`Eximee Repository` is a secure repository of platform artifacts, storing all definitions of the Eximee applications created (forms, processes, templates, data models, configurations).\
It provides version control, migrations between environments, and artifact publication for client systems.

### **Functionality**

* Storage of application artifacts with full versioning.
* Building complex artifacts from component parts (composition).
* Migration of applications between environments (export/import with dependency control).
* Access control and permissions for artifacts.
* Publishing definitions for external clients (e.g. Eximee Forms).

### **Technical features**

* Support for integration with AD/LDAP in the area of user authorization.
* Change logging and version history.
* API for automating CI/CD migrations.


---

# 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/documentation/documentation-en/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.
