kAnalytics
V 1.0
22 Feb 2017
Introduction to kAnalytics
kAnalytics application is an external reporting tool for the kpoint platform.It is a
micro services based platform which acts as an independent system between kpoint
platform and an external vendor (e.g. Airtel).An external vendor can trigger a process
from the system to perform synchronization of the channel,video and user profiles
data.Also,it can used to specified list of reports to enable HO trainers and
circle/location/business specific heads to pull relevant reports.An external vendor will be
redirected to kAnalytics MIS application from kPoint platform.
The kPoint Platform supports HTTP/HTTPS RESTful API for external
applications to access kPOint channel,kapsules and viewership data. kAnalytics
performs API calls to the kPoint platform and store the relevant data to database.This
platform can be merged with any external vendor for viewing the reports.The rest of the
document comprises of the architecture and modules present in the system.
Architecture
Above is the architecture of the kAnalytics application.MIS application stands
between the kpoint and external vendor.It interactes with the ldap/Tam server to fetch
the user profile details.It comprises of UI screens to trigger the web services which will
fetch data from kpoint and store it to the database.Also, it consists of UI screens to view
report which will be fetched from Jasper Report Server. Below is list of the components
used above.
Components :
kPoint
kPoint is an enterprise video platform.kAnalytics consumes the Rest API
provided by kPoint.kPoint platform supports Restful web services for an external
application to consumes its services for channels,kapsules,etc.kAnalytics uses the
following APIs from kpoint for retrieving data :
Channel List
Channel Contents
Kapsule Details
Kapsule Viewership
User Details
Group Details
Ldap/Tam Server
Ldap/Tam server is used to pass the user details from the external vendor to
kAnalytics system.These user information is utilized to map the user association type to
a group in kpoint system.AssociationType is the circle in which a user belongs.Same
may be mapped to a group in kpoint.Kanalytics ensures the mapping and generates
reports for that user based oa circle/group.
MIS
There are 2 sub functionalities under MIS application
1. Processes
Process consists of the list of screens which enables the synchronization
of data to kAnalytics.
2. Report
Reports consists of list of screens which are generated based on role of
the user.
Processes
Below is the list of processes available in MIS application :
Channel List
Channel List process is used to get the list of channels available in the
system with details such as channelId,kapsule count in channel,name,etc.
Kapsule Details
Kapsule Details process is used to retrieve the details of a kapsule such
as kapsuleId,duration,urls,size,etc.
Channel Contents
Channel Contents process is used to retrieve the kapsules which are
present in a channel with details such as kapsuleId,viewCount,duration,etc.
Kapsule Analytics
Kapsule Analytics process is used to get the viewership data of a kapsule
such as viewed duration,viewed user,percentage viewed, etc
User Profile
User Profile process is used to retrieve the list of users from Ldap server
ot import from Excel data.
User Mapping
User mapping process is used to map a user to a group in kpoint. It is
done based on the mapping of associationtype to a group in kpoint.
Process Log
Process Log maintains the log of each process executed by the system or
user with execution date and the status of the process.
Reports
Reports can be viewed in the MIS application based on the role of the user in the
external vendor system.The reports which are defined in the system are as follow :
Admin Report
Partner Trainer Report
Partner Manager Report
Business Manager Report
User Interface
User interface for MIS application comprises of 3 parts :
kPoint Redirect
This is the entry point to the application which resides on kpoint platform.It
consist of a buttom which will redirect the user to kAnalytics application.
Process Screen
User can trigger manually any process from the process screen.There are
2 options on the screen i.e Start and Refresh.Start will start the process and it can only
be executed once in a day.Refresh will start the process and is used to synchronize the
data at runtime before generating the report.Below is the snippet of the process screen :
Report Screen
Report screen consist of 4 views with each containing a button to view the
report.Based on the user logged into the system,the user will be able to see the report
page.Below is the snippet of the report screen :
Database ER Diagram
Below is the database ER diagram for kAnalytics application :
Platform Technical Details
Spring boot v 1.4.3 for building Restful web services.
Angular JS v 1.x for UI.
My sql server 5.x for database.
Apache poi for parsing Excel data.
Jasper Report Server for report processing.
Apache tomcat 8.x for application deployment.
Java 8.
Maven for building the application deployment war.