Customisable Report Rendering
Problem Statement
Submitted By: Jed Dayo & team
Meet The Team

Mirko Sciachero

Jed Dayo

Arindam Mazumdar

Mai Goa Truong
Typical Report Software

Problems

Our Solution

Advantage of our Solution

High Level Architecture

Web Template Manager View

Web Template Manager (Tech Stack)



ReactJs
Java based solution
easy to deploy



usually compliant with banks

lightweight

easy to learn

well maintained

flexible

scalable

fast
Report Service

Report Service (Tech Stack)

Java based solution
easy to deploy



usually compliant with banks

xls support

support for majority
of styles

well maintained

faster than jackson


Jsoniter

Sample Template

Expressions ${}
- Object Expression - ${Client Details:clientCode1}
- Row Function Expression - ${row(assetCode#Asset NAV Details:assetCode)}
- Divide Function Expression - ${divide(J9,J12)}
- Total Column Function Expression - ${totalCol(L9)}
- Sum Function Expression - ${sum(D17,D18)}
- Reference Function Expression - ${ref(D17)}
- Total Function Expression - ${total(NAV Details:clientContribution)}
- Total Negative Function Expression - ${totalNegative(NAV Details:netIncreaseDecrease)}
Template Json
{
"name": "simplereport",
"description": "simplereport",
"format": "xls",
"sheets": [
{
"index": 0,
"name": "Holdings",
"rows": [
{
"styles": {},
"rowNum": 0,
"originalRowNum": 0,
"columns": [
{
"styles": {
"fillForegroundColorColor": "62",
"fillPatternType": "SOLID_FOREGROUND",
"topBorderColor": "64",
"dataFormatString": "yyyymmdd",
"bottomBorderColor": "64",
"bold": "true",
"fillBackgroundColorColor": "64",
"borderTop": "THIN",
"italic": "false",
"borderLeft": "THIN",
"rightBorderColor": "9",
"shrinkToFit": "false",
"fontFamily": "Arial",
"leftBorderColor": "64",
"borderRight": "THIN",
"fontHeight": "220",
"alignment": "CENTER",
"borderBottom": "NONE",
"wrapText": "false",
"verticalAlignment": "CENTER",
"fontColor": "9"
},
"value": "Position Date",
"col": 0,
"originalCol": 0,
"lastRowNum": 0,
"arrayFormulaRange": null,
"cellFormula": null,
"cellComment": null,
"columnWidth": 4949,
"templateRow": null,
"rendered": false
},
]
},
{
"styles": {
"fillForegroundColorColor": "64",
"fillPatternType": "NO_FILL",
"topBorderColor": "0",
"dataFormatString": "General",
"bottomBorderColor": "0",
"bold": "false",
"fillBackgroundColorColor": "64",
"borderTop": "NONE",
"italic": "false",
"borderLeft": "NONE",
"rightBorderColor": "0",
"shrinkToFit": "false",
"fontFamily": "Arial",
"leftBorderColor": "0",
"borderRight": "NONE",
"fontHeight": "220",
"alignment": "GENERAL",
"borderBottom": "NONE",
"wrapText": "false",
"verticalAlignment": "CENTER",
"fontColor": "8"
},
"rowNum": 1,
"originalRowNum": 1,
"columns": [
{
"styles": {
"fillForegroundColorColor": "64",
"fillPatternType": "NO_FILL",
"topBorderColor": "64",
"dataFormatString": "General",
"bottomBorderColor": "64",
"bold": "false",
"fillBackgroundColorColor": "64",
"borderTop": "THIN",
"italic": "false",
"borderLeft": "THIN",
"rightBorderColor": "64",
"shrinkToFit": "false",
"fontFamily": "Arial",
"leftBorderColor": "64",
"borderRight": "THIN",
"fontHeight": "220",
"alignment": "CENTER",
"borderBottom": "THIN",
"wrapText": "false",
"verticalAlignment": "CENTER",
"fontColor": "32767"
},
"value": "${colArr(SIMPLE_REPORT:positionDate)}",
"col": 0,
"originalCol": 0,
"lastRowNum": 0,
"arrayFormulaRange": null,
"cellFormula": null,
"cellComment": null,
"columnWidth": 4949,
"rendered": false
}
]
}
],
"mergeRegions": [],
"fitToPage": true,
"displayGuts": false,
"displayGridlines": true,
"defaultColumnWidth": 10,
"printGridlines": false
}
]
}
Demo

https://jesus-dayo-zuhlke-com.solutions.apixplatform.com/
PERFORMANCE - SIMPLE REPORT

PERFORMANCE - COMPLEX REPORT

STRESS TEST
10 users - 226 requests




Thank you for Listening

gsengage
By Jed Dayo
gsengage
- 108