===== Build CzechIdM Backend =====
===== Requirements =====
Install OpenJDK 11 (OpenJDK 21 for CzechIdm 13.1.0+).
Install Maven. - ''Required version is 3.1 or higher''
Install Tomcat 9.0.*. ''Tested versions: 9.0.80''
===== Modules =====
==== Project modules [mandatory] ====
* ''parent'' Maven parent of all following submodules with common dependencies
* ''core'' Contains base IdM functionality (entities, repositories, services etc.)
* ''core-api'' Core interfaces
* ''core-test-api'' Test interfaces
* ''core-impl'' Core services, entities and rest implementation
* ''app'' Contains example .war application - all modules (core + business modules) and their configuration
==== Application modules [optional] ====
* ''acc'' Account management module
* ''module-example'' Example application module / skeleton
==== Maven modules [optional] ====
* ''gui'' Frontend as .war package
* ''module-aggregator'' Complex builder for all modules
===== Build =====
The quickest way to build whole backend application, is to use module-aggreagator. Go to module-aggreagator folder, where pom.xml is located and run command:
mvn clean install
or you can build it with separeate gui (requires gulp installation from [[tutorial:dev:build_frontend|frontend installation guide]])
mvn clean install -separatedApp
or you can build full released app in one ''idm.war'' file containing backend and frontend with ''acc'' and ''example'' modules. (requires gulp installation from [[tutorial:dev:build_frontend|frontend installation guide]])
mvn clean install -Prelease
Also you can build all mandatory project modules one by one in order above using:
mvn clean install
===== Deploy =====
Deploy ''idm-backend.war'' or ''idm.war'' file located in target folder of ''app'' module to Tomcat/webapps.
===== Demo user credentials =====
**username:** admin
**password:** admin
===== Configuration =====
Default profile is using h2 database. It is not nessesary to configure it for first start.
All configuration properties are in [[7.3:dev:configuration:backend|documentation]]