# Architecture - Component Diagram

The architecture diagram explains the L0 architectural view of Sunbird-ED.

<figure><img src="/files/m1qr3dnAD2XhIZmSbLWl" alt=""><figcaption></figcaption></figure>

### Learning Apps

These are the client-facing applications where users (Admin, Creators and Consumers) can drive some capabilities.

* **Sunbird-Portal UI**\
  The Sunbird portal is the browser-based interface for the Sunbird application stack. It provides a web app through which all Sunbird functionality can be accessed.
* **Sunbird-Mobile-App**\
  The Sunbird Mobile app provides mobility to its feature-rich learning platform. It provides learners with the flexibility to learn anywhere, anytime.
* **Sunbird-Desktop**\
  It is powered by Sunbird-Portal itself. The same code-base is being used for offline access of portal application.
* **Sunbird-CoKreat (part of Sunbird-CoKreat building block)**\
  [**https://cokreat.sunbird.org/learn/readme#what-is-sunbird-cokreat**](https://cokreat.sunbird.org/learn/readme#what-is-sunbird-cokreat)

#### Video on Sunbird ED Architecture - Part 2

(Refer to this [link](https://ed.sunbird.org/learn/technical-overview/technical-architecture-diagram#video-sunbird-tech-architecture) for Part 1 of the explanation)

{% embed url="<https://youtu.be/XPrhdALMHeI?si=4DgX6U6QlwgBQSqX&t=116>" %}

### Front-end Libraries

Please refer to the below for more details on front-end libraries.

[Independent Libraries](/use/source-code/reference-apps/independent-libraries.md)

### API Player

* Sunbird-Portal (API service)\
  Sunbird portal is packaged with Client & Server side applications. The server slide application (NodeJS) will be built and deployed independently, acting as a proxy service for the Sunbird Portal (UI) application.
* Sunbird-Creation-Portal (API service)\
  Sunbird creation portal is also packaged with Client & Server side applications. The server slide application (NodeJS) will be built and deployed independently, acting as a proxy service for the Sunbird-Creation-Portal (UI) application.
* Form service

[Form service](/use/source-code/form-service.md)

* Contribute (Program) service

{% embed url="<https://cokreat.sunbird.org/contribute/contribution-service>" %}

### Dependant Sunbird BB's

[Dependencies](/use/learn-more/dependencies.md)


---

# 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/use/source-code/sunbird-ed-architecture.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.
