Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Problem Statement

In the existing app, there are several sync processes running independently, for instance, Telemetry sync, Course Progress sync, and Course Assessment sync. The purpose of this plugin is to write a unified abstraction for all these different types of sync processes extendable to any future sync processes that may be added.

Proposed solution:

Create a custom Cordova plugin which will isolate all sync processes and use a separate DB instance for persistence. This will be natively handled, as a result, the app performance will increase and loosely coupled..

  1. All these sync events works on single thread which decreases the current app’s performance.

  2. Telemetry , course progress and course assessment has seperate implementaion in different parts of the app.

Previous Implementaion of telemetry sync flow.

...

Proposed Solution for the problem

...

Create a custom cordova plugin

Plugin method init()

Code Block
languagejs
init: function(configurations: SyncConfiguration[], success, error) {
    exec(success, error, PLUGIN_NAME, "init", [configurations])
}

...