# Technology Stack

#### **UI & Rest end points:**

The table below outlines the frameworks, tools, and technologies employed by Resident Portal.

<table><thead><tr><th width="179">Tool / Technology</th><th width="89">Version</th><th width="192">Description</th><th>License</th></tr></thead><tbody><tr><td><a href="https://angular.io/">Angular JS</a></td><td>7.2.1</td><td>AngularJS is a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries.</td><td><a href="https://github.com/angular/angular/blob/main/LICENSE">MIT License</a></td></tr><tr><td><a href="https://nodejs.org/en">Node JS</a></td><td>16.2.0</td><td><em>Node</em>.<em>js</em> is a JavaScript runtime built on Chrome's V8 JavaScript engine.</td><td><a href="https://github.com/nodejs/node/blob/main/LICENSE">MIT License</a></td></tr></tbody></table>

#### **Resident Services:**

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

<table><thead><tr><th width="178">Tool / Technology</th><th width="131">Version</th><th width="140">Description</th><th>License</th></tr></thead><tbody><tr><td>Java SE 11</td><td>OpenJDK 11</td><td>Language Runtime in Docker Image</td><td>GNU General Public License, version 2, with the Classpath Exception</td></tr><tr><td>Ubuntu Server</td><td>20.04</td><td>Docker base image Operating System</td><td>Free</td></tr><tr><td>Spring</td><td>5</td><td>Application Framework</td><td>Apache License 2.0</td></tr><tr><td>Apache commons</td><td>Version compatible with Spring 5</td><td>Utilities</td><td>Apache License 2.0</td></tr><tr><td>Hibernate</td><td>5.2.17.Final</td><td>ORM</td><td>Apache Software License 2.0</td></tr><tr><td>Hibernate validator</td><td>6.0.12.Final</td><td>validator</td><td>Apache Software License 2.0</td></tr><tr><td>mvel2</td><td>2.4.7.Final</td><td>Expression language</td><td>Apache License 2.0</td></tr><tr><td>Jackson</td><td>2.9.x</td><td>JSON marshal/unmarshal</td><td>Apache Software License 2.0</td></tr><tr><td>Junit</td><td>4.x and above</td><td>Unit Testing</td><td>Common Public License - v 1.0</td></tr><tr><td>mockito</td><td>2.22.0</td><td>Junit - Mock Objects</td><td>MIT</td></tr><tr><td>power-mock</td><td>2.0.7</td><td>Junit - Mock Static Classes</td><td>Apache Software License 2.0</td></tr><tr><td>logback</td><td>1.2.3</td><td>Log</td><td>GNU Lesser GPL Version 2.1</td></tr><tr><td>velocity</td><td>1.7</td><td>Templating</td><td>Apache Software License 2.0</td></tr><tr><td>Swagger</td><td>Open API - 3</td><td>API Documentation</td><td>Apache Software License 2.0</td></tr><tr><td>Tomcat server</td><td>8</td><td>Application Server</td><td>Apache Software License 2.0</td></tr><tr><td>PostgreSQL</td><td>Server: 10</td><td>Database</td><td>Postgres License BSD 2-clause "Simplified License"</td></tr><tr><td>Sonar</td><td>7.2</td><td>Code quality Checking</td><td>Open Source License</td></tr><tr><td>Micrometer Prometheus</td><td>1.4.2</td><td>Metrics</td><td>Apache Software License 2.0</td></tr><tr><td>gson</td><td>2.8.4</td><td>JSON parser</td><td>Apache Software License 2.0</td></tr><tr><td>h2 database</td><td>1.4.197</td><td>JUnit Test DB</td><td>EPL 1.0, MPL 2.0</td></tr><tr><td>lombok</td><td>1.18.8</td><td>Development - reduce the boilerplate code</td><td>MIT</td></tr><tr><td>IText PDF</td><td>5.5.13.3</td><td>PDF Generation</td><td>AGPL 3.0</td></tr><tr><td>icu4j</td><td>63.1</td><td>Transliteration</td><td>Unicode-3.0</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/identity-management/resident-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.
