# Technical Components (WIP)

<div data-full-width="true"><figure><img src="/files/JZyRLPldcsEv5tnPNOtz" alt=""><figcaption><p>High level diagram of ULP depicting the interplay between the ecosystem players</p></figcaption></figure></div>

<div data-full-width="true"><figure><img src="/files/cphKyHecPvnRT0SQ35v1" alt=""><figcaption><p>Detailed view of ULP components</p></figcaption></figure></div>

Technical

The components can be divided into two parts - **Microservices / APIs and Frontend Portals**

### **A. ULP Microservices**

#### **1. Credential Issuance Service**

Microservice to create the credentials in the credential store. This service is part of Sunbird RC

<https://github.com/Sunbird-RC/sunbird-rc-core/pull/217>

#### **2. Credential Schema Service**

Microservice to create the credential schema, template and render the credentials in the selected template.

<https://github.com/Sunbird-RC/sunbird-rc-core/pull/219>

#### **3. Identity Service (DID)**

Microservice to create the unique identity for the learner and issuer for the credential.

<https://github.com/Sunbird-RC/sunbird-rc-core/pull/218>

#### **4. Middleware Service**

The Backend for frontend (BFF) microservice is written for adding authorization for the above services and ULP specific services like Aadhar Verification (pre-prod) and UDISE APIs

{% embed url="<https://github.com/Sunbird-RC/ulp-bff>" %}

### **B. Frontend Portal links**

#### 1. Issuance portal

This is the portal to enable the organisation, issuer onboarding. It has the functionality to create bulk credentials, claim approval, view issued credentials and a dashboard. You can add setup this on your server by adding config changes.

*The portal is currently under maintenance and might not be usable.*

{% embed url="<https://github.com/Sunbird-RC/ulp-registration-portal>" %}

#### 2. Holder App

This web app will be for learners to view, download or share their credentials.

{% embed url="<https://github.com/Sunbird-RC/ulp-ewallet>" %}

#### 3. Verification Portal

This web app will be used for verifiers to verify whether the particular credential is valid and not expired.

{% embed url="<https://github.com/Sunbird-RC/ulp-vc-verification>" %}


---

# 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.sunbirdrc.dev/reference-solution-for-digital-credentials/unified-learners-passport-ulp/technical-components-wip.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.
