Component Diagram

The Sunbird Mobile app is the app-based interface for the Sunbird application stack. It provides an app (Android/iOS) through which all functionality of Sunbird can be accessed.

GitHub Repository

Architecture

Sunbird Mobiles app follows a basic angular / Ionic code structure. The top level of the workspace contains workspace-wide configuration files, configuration files for the application, and test files.

All following primary folders are highlighted in the above screenshot.

plugins

plugins folder contains all the plugins that provide JavaScript interface to native components (Android/iOS) required by Sunbird Mobile App. They allow the app to use native device capabilities beyond what is available to pure web components.

List of plugins used in the Sunbird Mobile app

app

This folder contains all the modules and components. It contains the Sunbird Mobile app's logic and data.

Modules

As Modules are a great way to organize an application and extend it with capabilities from external libraries so, in the Sunbird-mobile-app, each functionality/page is configured as a Module. Some key modules are given in the below diagram.

. . . . . . . . . . . .

directives

This folder contains classes that can add new behavior to the elements in the template or modify existing behavior. These classes are used to maneuver the DOM by adding/ removing new elements to the DOM and even changing the appearance of the DOM elements.

Following are a few key directives in the app

pipes

This folder contains classes containing simple functions to use in template expressions to accept an input value and return a transformed value.

services

This folder contains classes with the @injectable decorator. This decorator tells angular that the class is a service and can be injected into components that need that service.

sunbird-mobile-sdk

sunbird-mobile-sdk is the heart of Sunbird-mobile-app, which contains all the business logic, starting from API access to offline data management.

Configurations required to set up Sunbird-mobile-app

These are the set of files required to set up Sunbird-mobile-app

Forms required to initialize Sunbird-mobile-app

The Form Configurations are a set of pre-defined forms that enable users to modify the UI easily without changing anything in the source code. Also, it allows users to quickly update any type of app attribute even if the app is already available in the Play Store/app store without any app update.

List of forms available in Sunbird-Mobile-app

Last updated