# Component Diagram

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

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

#### Reports

In charge of acquiring data for reports.

#### Survey

Tasked with creating surveys using solutions and templates.

#### Survey Submission

Handles the submission of surveys and sends data to Kafka for analytical purposes.

#### Assessment

Responsible for validating assessments of criteria and questions in observations and surveys.

#### Solutions

Offers available solutions within the Manage Learn system.

#### Observations

Generates observations from solutions for users engaged in observations.

#### Observation Submissions

Manages the submission of observations and forwards data to Kafka for analytical purposes.

#### Scoring

This module will be used by observations that involve rubric-based scoring.

#### User Extensions

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

#### Programs

Supplies a list of available programs within Manage Learn.

####

These ten modules synergize as the backbone of the [ML Survey Service](/older-versions/contribute/source-code/workflows/manage-learn/ml-survey-service.md), empowering users to enhance and optimize Observation and Survey capabilities within the broader SunbirdEd ecosystem on the App platform.


---

# 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/older-versions/contribute/source-code/workflows/manage-learn/ml-survey-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.
