# Technology Stack

**PMS Portal UI:**

The table below outlines the frameworks, tools, and technologies used in PMS Portal.

| Tool / Technology | Version | Description                                                                   | License                                                             |
| ----------------- | ------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| React JS          | 18.2.0  | React JS is used to develop the UI web application                            | [MIT License](https://github.com/angular/angular/blob/main/LICENSE) |
| Node JS           | 21.7.3  | *Node*.*js* is a JavaScript runtime built on Chrome's V8 JavaScript engine.   | [MIT License](https://github.com/nodejs/node/blob/main/LICENSE)     |
| Tailwind CSS      | 3.4.3   | Tailwind CSS is *a Utility-first CSS framework for building rapid custom UI*. |                                                                     |

**Partner Management Services:**

The table below outlines the frameworks, tools, and technologies employed by Partner Management Services.

<table><thead><tr><th width="143.8082275390625">Tool / Technology</th><th width="146.67828369140625">Version (Java SE 21)</th><th>Version (Java SE 11)</th><th>Description</th><th>License</th></tr></thead><tbody><tr><td><strong>Java</strong></td><td><p>Java SE 21</p><p>(Used since <strong>PMS 1.3.0-beta.1</strong>)</p></td><td><p>Java SE 11</p><p>(Supports older PMS versions)</p></td><td>Language Runtime (used in Docker image)</td><td>GNU GPL v2 with Classpath Exception</td></tr><tr><td><strong>Ubuntu Server</strong></td><td>20.04</td><td>20.04</td><td>Docker base image OS</td><td>Free</td></tr><tr><td><strong>Spring Framework</strong></td><td>6.1.4</td><td>5.x</td><td>Application Framework</td><td>Apache License 2.0</td></tr><tr><td><strong>Apache Commons</strong></td><td>Compatible with Spring 6</td><td>Compatible with Spring 5</td><td>Utility Libraries</td><td>Apache License 2.0</td></tr><tr><td><strong>Hibernate</strong></td><td>6.4.4.Final</td><td>5.2.17.Final</td><td>ORM Framework</td><td>Apache License 2.0</td></tr><tr><td><strong>Hibernate Validator</strong></td><td>8.0.1.Final</td><td>6.0.12.Final</td><td>Validation Framework</td><td>Apache License 2.0</td></tr><tr><td><strong>Jackson</strong></td><td>2.15.4</td><td>2.12.0</td><td>JSON Marshal/Unmarshal</td><td>Apache License 2.0</td></tr><tr><td><strong>JUnit</strong></td><td>4.x and above</td><td>4.x and above</td><td>Unit Testing Framework</td><td>Common Public License v1.0</td></tr><tr><td><strong>Mockito</strong></td><td>3.4.3</td><td>2.22.0</td><td>Mocking Framework for Unit Testing</td><td>MIT License</td></tr><tr><td><strong>Logback</strong></td><td>1.4.14</td><td>1.1.6</td><td>Logging Framework</td><td>LGPL v2.1</td></tr><tr><td><strong>Apache Velocity</strong></td><td>1.7</td><td>1.7</td><td>Templating Engine</td><td>Apache License 2.0</td></tr><tr><td><strong>Swagger (OpenAPI)</strong></td><td>OpenAPI 3</td><td>OpenAPI 3</td><td>API Documentation</td><td>Apache License 2.0</td></tr><tr><td><strong>PostgreSQL Server</strong></td><td>Server:10</td><td>Server:10</td><td>Relational Database</td><td>PostgreSQL License (BSD 2-Clause)</td></tr><tr><td><strong>SonarQube</strong></td><td>2025.1 LTA</td><td>7.2</td><td>Static Code Analysis</td><td>Open Source License</td></tr><tr><td><strong>Micrometer Prometheus</strong></td><td>1.12.3</td><td>1.4.2</td><td>Metrics Collection</td><td>Apache License 2.0</td></tr><tr><td><strong>Gson</strong></td><td>2.10.1</td><td>2.8.5</td><td>JSON Parser</td><td>Apache License 2.0</td></tr><tr><td><strong>H2 Database</strong></td><td>2.2.224</td><td>1.4.197</td><td>In-memory DB for Testing</td><td>EPL 1.0 / MPL 2.0</td></tr><tr><td><strong>Lombok</strong></td><td>1.18.30</td><td>1.18.8</td><td>Boilerplate Code Reduction</td><td>MIT License</td></tr><tr><td><strong>iText PDF</strong></td><td>5.5.13.4</td><td>5.5.13.3</td><td>PDF Generation Library</td><td>AGPL v3.0</td></tr><tr><td><strong>icu4j</strong></td><td>63.1</td><td>63.1</td><td>Unicode and Transliteration Utilities</td><td>Unicode License</td></tr></tbody></table>


---

# 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.mosip.io/1.2.0/id-lifecycle-management/support-systems/partner-management-services/develop/technology-stack.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.
