# UI Developers Guide

This [repository](https://github.com/mosip/partner-management-portal) contains the UI code for Partner Management portal. To know more about the features and functions present on the portal, refer [here](https://docs.mosip.io/1.2.0/modules/partner-management-services/partner-management-portal).

### Build and Deployment

*Note*: The code is written in React JS.

* Install `node.js`- To build the react JS code that runs on node, recommended Node: 21.7.3, Package Manager: npm 5.2+
* Check out the source code from GIT – To download the source code from git, follow the steps below to download source code on your local system.
  * git clone <https://github.com/mosip/partner-management-portal> (to clone the source code repository from git)

### For Production build

* **Build the code**

  Follow the steps below to build the source code on your system.

  * Navigate to the `pmp-ui-v2` directory inside the cloned repository.
  * Run the command `npm run` build in that directory to build the code.
* **Build Docker image**

  Follow the steps below to build the docker image on your system.

  * `docker build -t name .` (replace name with the name of the image you want, "." signifies the current directory from where the docker file has to be read.)
  * Example: `docker build -t pmp-ui-v2 .`
* **Run the Docker image**

  Follow the steps to build docker image on your system.

  * `docker run –d –p 80:80 --name container-name image-name` (to run the docker image created with the previous step,`-d` signifies to run the container in detached mode, `-p` signifies the port mapping left side of the":" is the external port that will be exposed to the outside world and right side is the internal port of the container that is mapped with the external port. Replace `container-name` with the name of your choice for the container, replace `image-name` with the name of the image specified in the previous step)
  * Example: `docker run -d -p 3000:3000--name nginx pmp-ui-v2`
* Now you can access the user interface over the internet via browser.
  * Example: `http://localhost:3000`

#### For Local build

* Build & deploy the code locally

  Follow the steps below to build the source code on your system.

  * Navigate to the `pmp-ui-v2` directory inside the cloned repository. Then, run the following command in that directory:
    * `npm install`
    * `npm start`
* Now, you can access the user interface via browser.
  * Example: `http://localhost:3000`


---

# 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/ui-developers-guide.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.
