# Component Diagram

<figure><img src="/files/JnnnRA2mpGZcwJbz6jCq" alt=""><figcaption><p>ML Core Service Component Diagram</p></figcaption></figure>

The ML Core Service is constructed using a MongoDB, Kafka, and cloud storage technologies. Additionally, it seamlessly collaborates with vital services like [ML Project Service](/release-6.0.0/use/source-code/manage-learn/ml-project-service.md), [ML Survey Service](/release-6.0.0/use/source-code/manage-learn/ml-survey-service.md), and [Learner Services](https://lern.sunbird.org/learn/readme). This Microservice is composed of ten pivotal Modules, each playing a crucial role.

#### User Role

This module stores essential user role information.

#### Cloud Service

It facilitates communication between ML Core and the Cloud Service for data storage and retrieval.

#### Admin

Providing administrative services within the Manage Learn Building block.

#### Users

Serving user-centric functions, including targeted programs and resources.

#### Solution

Responsible for solution creation and management.

#### Certificate Base Templates

Creating foundational certificate templates used by certificate templates and providing certificate URLs.

#### Certificate Template

Mapping certificates with solutions and associated criteria.

#### Program Users

Managing user enrollment and consent statuses.

#### Program:

Creating and managing programs.

#### User Extension

Storing user details and program-related information for program designers and managers.

These ten modules synergize as the backbone of the [ML Core Service](/release-6.0.0/use/source-code/manage-learn/ml-core-service.md), empowering users to enhance and optimize program capabilities within the broader SunbirdEd ecosystem on the App platform.

#### Video on ML core services

{% embed url="<https://youtu.be/7QVvGrQxJGc?list=PLUrm4D0K_7nxlaZZYirokpx5Mo-jMd64M&t=62>" %}


---

# 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://ed.sunbird.org/release-6.0.0/use/source-code/manage-learn/ml-core-service/component-diagram.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.
