Git Product home page Git Product logo

analyticsdocumentation's Introduction

AnalyticsDocumentation

This documentation gives clear idea of how the nLearn application is keeping track of all the events.

It mainly has followings:

  • AnalyticsModule
  • AnalyticsTracker
  • AnalyticsHashmap
  • (XYZ)Analytics

Working of the entire ecosystem

This module takes in all the basic component from the App Component and then eventually provides the instance of AnalyticsTracker which will further be used by (XYZ)Analytics to call the methods available in AnalyticsTracker itself. The methods in AnalyticsTracker that will be used by (XYZ)Analytics will further use AnalyticsHashmap, which will provide a HashMap with basic OS-level attributes already added to it as a key-value pair. Inside AnalyticsTracker, methods will further add more attribute to the available HashMap to make it ready to lauch as an event using AnalyticsClient.

For Analytics events, we're using Amazon Web Service SDK

Now, let's discuss about the individual player of the ecosystem.

AnalyticsModule

AnalyticsModule is like any other module which is used to provide instance to be used by Dagger @inject annotation. It uses CognitoPoolID, Region, CognitoCachingCredentialsProvider and PinpointManager to eventually provide the instance of AnalyticsTracker at runtime.

image

(XYZ)Analytics

(XYZ)Analytics is just a common name of any custom-analytics class for any Activity/Fragment or any other View, XYZ will be replaced by the specific name of the View. Ex:- PracticeAnalytics etc.

(XYZ)Analytics uses Singleton design pattern to create only one instance throughout.

image

AnalyticsHashMap

AnalyticsHashMap class does nothing but creates a HashMap and adds certain OS-level attributes like PLATFORM, APP_VERSION, NETWORK_TYPE, OS_VERSION, DEVICE_ID(which is a unique session ID from Settings.Secure) and TIMESTAMP.

AnalyticsTracker

AnalyticsTracker takes in all the attributes from AnalyticsHashMap and (XYZ)Analytics and then adds some more preference-level attribute(like STUDENT_ID, ADMISSION_NO, UUID, EVENT_GROUP) to the resultant HashMap to submit the event instance that was created as shown using PinpointManager.

image

analyticsdocumentation's People

Contributors

abhiint16 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.