Package detail

@codetanzania/majifix-analytics

anzalab146MIT0.11.1

Majifix module for analytics and reports

anzalab, majifix, analytics, isomophic

readme

majifix-analytics

Majifix module for analytics and reports

Reports (WIP)

  • Overview Report
  • Performance Report
  • Operator Report
  • Operations Report
  • Standing Report
  • Trending Report

Report Structure

Overview Report

<summary> View Structure</summary> json { "data": { "overall": { "confirmTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "assignTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "attendTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "completeTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "verifyTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "approveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "resolveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "lateTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "callTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "workTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } } }, "jurisdictions": [], "statuses": [], "priorities": [], "services": [], "groups": [], "types": [], "workspaces": [], "channels": [], "operators": [] } }

Performance Report

<summary>View Structure</summary> json { "data": { "overall": { "confirmTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "assignTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "attendTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "completeTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "verifyTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "approveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "resolveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "lateTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "callTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "workTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } } }, "statuses": [], "priorities": [], "services": [], "groups": [], "types": [] } }

Operator Report

<summary>View Structure</summary> json { "data": { "overall": { "approved": 0, "assigned": 1, "attended": 1, "completed": 0, "count": 7, "late": 3, "new": 0, "pending": 2, "resolved": 5, "reopened": 1, "unconfirmed": 0, "verified": 0, "confirmTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "assignTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 11, "milliseconds": 253, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 27, "hours": 2, "minutes": 13, "seconds": 5, "milliseconds": 543, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 8, "hours": 23, "minutes": 29, "seconds": 51, "milliseconds": 889, "microseconds": 0, "nanoseconds": 0 } }, "attendTime": { "minimum": { "days": 13, "hours": 2, "minutes": 54, "seconds": 58, "milliseconds": 453, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 17, "hours": 1, "minutes": 53, "seconds": 1, "milliseconds": 613, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 19, "minutes": 0, "seconds": 32, "milliseconds": 177, "microseconds": 0, "nanoseconds": 0 } }, "completeTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 4, "seconds": 11, "milliseconds": 42, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 1, "seconds": 0, "milliseconds": 615, "microseconds": 800, "nanoseconds": 0 } }, "verifyTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 2, "seconds": 54, "milliseconds": 475, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 38, "milliseconds": 781, "microseconds": 400, "nanoseconds": 0 } }, "approveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 3, "seconds": 1, "milliseconds": 694, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 41, "milliseconds": 838, "microseconds": 800, "nanoseconds": 0 } }, "resolveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 20, "seconds": 25, "milliseconds": 338, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 27, "hours": 2, "minutes": 15, "seconds": 17, "milliseconds": 238, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 11, "hours": 1, "minutes": 1, "seconds": 42, "milliseconds": 740, "microseconds": 800, "nanoseconds": 0 } }, "lateTime": { "minimum": { "days": 0, "hours": 20, "minutes": 7, "seconds": 4, "milliseconds": 414, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 21, "hours": 15, "minutes": 17, "seconds": 13, "milliseconds": 901, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 7, "hours": 23, "minutes": 42, "seconds": 22, "milliseconds": 597, "microseconds": 666, "nanoseconds": 666 } }, "callTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 29, "milliseconds": 44, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 1, "seconds": 14, "milliseconds": 531, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 45, "milliseconds": 860, "microseconds": 142, "nanoseconds": 857 } }, "workTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 7, "milliseconds": 813, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 17, "hours": 1, "minutes": 53, "seconds": 1, "milliseconds": 613, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 4, "hours": 6, "minutes": 30, "seconds": 40, "milliseconds": 604, "microseconds": 250, "nanoseconds": 0 } } }, "services": [] } }

Operation Report

<summary>View Structure</summary> json { "data": { "items": [], "overall": { "confirmTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "assignTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "attendTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "completeTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "verifyTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "approveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "resolveTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "lateTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "callTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } }, "workTime": { "minimum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "maximum": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 }, "average": { "days": 0, "hours": 0, "minutes": 0, "seconds": 0, "milliseconds": 0, "microseconds": 0, "nanoseconds": 0 } } }, "services": [], "workspaces": [], "zones": [], "assignees": [] } }

Standing Report

<summary>View Structure</summary> json { "data": [ { "jurisdiction": { "color": "#0D3291", "code": "GRZ", "name": "Name" }, "group": { "code": "C", "color": "#06C947", "name": { "en": "Commercial", "sw": "Commercial" } }, "service": { "code": "BL", "color": "#0D47A1", "name": { "en": "Billing", "sw": "Billing" } }, "status": { "color": "#0D47A1", "weight": -5, "name": { "en": "Open", "sw": "Open" } }, "priority": { "color": "#1B5E20", "weight": -5, "name": { "en": "Low", "sw": "Low" } }, "count": 2 } ] }

Trending Report(WIP)

<summary>View Structure</summary> json { "data": { "countPerYear": [ { "count": 0, "year": 2000 }, { "count": 0, "year": 2001 }, { "count": 0, "year": 2002 } ], "countPerMonthPerYear": [ { "months": [ ], "year": 2000 }, { "months": [ ], "year": 2001 }, { "months": [ ], "year": 2002 } ], "countPerHourPerDay": [ { "hours": [ ], "day": 1 }, { "hours": [ ], "day": 2 }, { "hours": [ ], "day": 3 }, { "hours": [ ], "day": 4 }, { "hours": [ ], "day": 5 }, { "hours": [ ], "day": 6 }, { "hours": [ ], "day": 7 } ] } }

Usage

npm install --save @codetanzania/majifix-analytics

Testing

If you want to test this library,

  • first clone this repo
  • Install all dependencies

    npm install
    
  • Run test

    npm test
    

How to contribute

It will be nice, if you open an issue first so that we can know what is going on, then, fork this repo and push in your ideas. Do not forget to add a bit of test(s) of what value you adding.

LICENSE

MIT License

Copyright (c) anzalab & Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.