InQuiry Component View
External Components
The external components that inQuiry needs to function (libraries or services)
Name of the component | What does it do? | Why it is needed? |
---|---|---|
Knowlg : ePub Player Unused - To be removed from QuML Editor | Responsible for playing Epubs and can pass on the player events to container as detailed here | inQuiry is not using it, there is a tight dependency from Resource Library This needs to be made as optional dependency in Resource Library as it is planned to be used by Knowlg. Action Item
|
Knowlg : PDF Player Unused - To be removed from QuML Editor | Responsible for playing PDFs and can pass on the player events to container as detailed here | inQuiry is not using it, there is a tight dependency from Resource Library This needs to be made as optional dependency in Resource Library as it is planned to be used by Knowlg. Action Item
|
Knowlg : Video Player Unused - To be removed from QuML Editor | Responsible for playing Video contents as detailed here | inQuiry is not using it, there is a tight dependency from Resource Library This needs to be made as optional dependency in Resource Library as it is planned to be used by Knowlg. Action Item
|
Knowlg : Knowlg Services (API) | Responsible for providing services related to,
| This encapsulates the following service offerings,
|
Knowlg : Graph Engine (aka Ontology Engine) This can be replaced as Knowlg Core (has : platform-core, ontology-engine, platform-modules) | Graph-engine acts as an interface between databases and service module | This encapsulates all the calls to the underling data stores (Neo4J, Cassandra, Redis, etc) This is available as library for consumption and code need not be repeated in modules that needs to access the underlying data store. The Knowledge Platform uses the Graph engine to communicate with Neo4j. The Graph engine expects schema definitions for each object type. It validates the data object with the object definition during various CRUD operations. |
Knowlg : Platform Telemetry (platform-telemetry) | This is used by the inQuiry API services to sent the telemetry events | This encapsulates the functionalities capturing the telemetry events. |
Sunbird ED : Client Services | Typescript Library used to create API calls with Sunbird Environment. Includes necessary typescript code to do search, content read, corresponding data models of the platform are available. | In order to facilitate Adopters to connect with Sunbird System. Typescript based library to connect with APIs. It can facilitate the adopters with readily available data models. inQuiry is using this client services only for making the telemetry API calls. This is reused across different building blocks. Helps with wrapper services which otherwise will have to be written by different parties. |
Sunbird : Telemetry SDK This is a dependency for Sunbird : Client Services | An open specification for recording and measuring statistical data from real-world use of digital apps & platforms. Details here | The objective of telemetry is to assist in product, application or service development, modification or security. It works as a framework. Telemetry enables automatic collection of data from real-world, real-time use. Details here |
Sunbird ED: sb-styles | Core Styling of Sunbird Products are present in this repository. CSS implementation for containers, grids. | Consists of Basic Styles which are commonly used across Consumption Clients. |
Obsrv : Services The telemetry service is passing the telemetry events to Obsrv. | Sunbird Obsrv is a combination of various tools which provide the capabilities such as streaming, processing and storage of telemetry data and deriving reporting insights from the data. | Sunbird Obsrv comprises several pluggable tools and microservies that come together to enable observability features on any platform/solution. No direct API calls from front-end clients or inQuiry micro service. The telemetry service is passing the telemetry events to Obsrv through a series of data-pipelines. |
Knowlg : Platform DB Extensions Neo4J plugin | Synch Neo4J data to Elastic Search https://github.com/Sunbird-Knowlg/knowledge-platform-db-extensions | The data that is stored in Graph DB (Neo4J) needs to be made available in ElasticSearch for search functionalities. High Level flow goes like,
|
Internal Components
The internal components that inQuiry needs to function (that is owned and operated by inQuiry)
Name of the component | What does it do? | Tech Stack | Why it is needed? |
---|---|---|---|
inQuiry : QuML Editor | Question set editor is a tool offered by inQuiry to help you kickstart your creation of Question Banks | Angular / HTML5 / CSS | This is used for creating the question banks. Editor is available as Angular Library and Web Component. Web component for the usage in an framework agnostic fashion. Benefits of using Angular,
|
inQuiry : QuML Player | Question set player is a player provided by inQuiry to create engaging & inclusive experiences for end users consuming the question sets. | Angular / HTML5 / CSS | This is used for playing the questions from question banks Web component for the usage in an framework agnostic fashion. Benefits of using Angular,
|
inQuiry : Resource Library | Provides reusable UI and functionality for,
| Angular / HTML5 / CSS | Reusable library for,
Action Item |
inQuiry : inQuiry Services (API) | Question and Question set service is a micro-service which provides APIs to manage the lifecycle and workflows of creation and consumption of question & question set objects. | Play Framework Scala | It enables the question(s) and question set(s) creation, review and publishing process. The existing monolith (Spring MVC) was migrated to micro services using Play Framework with the benefits of,
|
inQuiry : QuML Specification | Question Markup Language (​QuML in short) is a specification for storage, rendering and distribution of Questions and Tests | JSON | QuML defines a standard format for representation of questions, tests and their results, supporting the exchange of this material between authoring and delivery systems, repositories and other e-learning systems. |
Add Comment