aws-samples / non-profit-blockchain
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 28% duplication:
    • 12,783 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,696 duplicated lines
  • 228 duplicates
system28% (3,696 lines)
Duplication per Extension
js71% (2,450 lines)
html57% (489 lines)
yaml23% (369 lines)
scss4% (240 lines)
ts9% (148 lines)
Duplication per Component (primary)
ngo-ui/src11% (877 lines)
ngo-identity/chaincode95% (732 lines)
ngo-events/chaincode100% (730 lines)
ngo-chaincode/src100% (714 lines)
ngo-rest-api17% (130 lines)
ngo-identity/templates57% (122 lines)
ngo-lambda40% (105 lines)
ngo-lambda/src31% (100 lines)
ngo-events/listener42% (88 lines)
ngo-rest-api/connection-profile29% (58 lines)
ngo-events/templates7% (28 lines)
ngo-fabric1% (6 lines)
blockchain-explorer3% (6 lines)

Duplication Between Components (50+ lines)

G ngo-events/chaincode ngo-events/chaincode ngo-identity/chaincode ngo-identity/chaincode ngo-events/chaincode--ngo-identity/chaincode 1462 ngo-chaincode/src ngo-chaincode/src ngo-chaincode/src--ngo-events/chaincode 1428 ngo-chaincode/src--ngo-identity/chaincode 1430 ngo-lambda/src ngo-lambda/src ngo-rest-api ngo-rest-api ngo-lambda/src--ngo-rest-api 112 ngo-lambda ngo-lambda ngo-rest-api/connection-profile ngo-rest-api/connection-profile ngo-lambda--ngo-rest-api/connection-profile 101 ngo-events/listener ngo-events/listener ngo-events/listener--ngo-lambda/src 88 ngo-events/listener--ngo-lambda 88 ngo-events/listener--ngo-rest-api/connection-profile 101 ngo-identity/templates ngo-identity/templates ngo-identity/templates--ngo-lambda 55

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 228 duplicates...
Size#FoldersFilesLinesCode
410 x 2 ngo-events/chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
528:1028 (56%)
579:1080 (53%)
view
310 x 2 ngo-events/chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
53:529 (42%)
72:548 (40%)
view
303 x 2 ngo-chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
643:1008 (42%)
715:1080 (39%)
view
303 x 2 ngo-chaincode/src
ngo-events/chaincode/src
ngo.js
ngo.js
643:1008 (42%)
663:1028 (41%)
view
213 x 2 ngo-chaincode/src
ngo-events/chaincode/src
ngo.js
ngo.js
17:391 (29%)
17:391 (29%)
view
201 x 2 ngo-chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
53:391 (28%)
72:410 (26%)
view
198 x 2 ngo-chaincode/src
ngo-events/chaincode/src
ngo.js
ngo.js
394:642 (27%)
407:655 (27%)
view
101 x 2 ngo-chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
515:642 (14%)
579:707 (13%)
view
99 x 2 ngo-chaincode/src
ngo-identity/chaincode/src
ngo.js
ngo.js
394:516 (13%)
426:548 (12%)
view
46 x 2 ngo-ui/src/app/ui/ngo-details
ngo-ui/src/app/ui/ngos-list
ngo-details.component.ts
ngos-list.component.ts
90:148 (39%)
101:159 (35%)
view
44 x 2 ngo-events/listener/src
ngo-lambda
connection-profile-template.yaml
connection-profile-template.yaml
14:62 (100%)
14:62 (100%)
view
43 x 2 ngo-lambda
ngo-rest-api/connection-profile
connection-profile-template.yaml
ngo-connection-profile-template.yaml
14:61 (97%)
14:61 (91%)
view
43 x 2 ngo-events/listener/src
ngo-rest-api/connection-profile
connection-profile-template.yaml
ngo-connection-profile-template.yaml
14:61 (97%)
14:61 (91%)
view
38 x 2 ngo-identity/templates
ngo-identity/templates
cognito-apigateway-routes-template.yaml
cognito-apigateway-routes-template.yaml
132:169 (17%)
175:212 (17%)
view
38 x 2 ngo-identity/templates
ngo-identity/templates
cognito-apigateway-routes-template.yaml
cognito-apigateway-routes-template.yaml
89:126 (17%)
175:212 (17%)
view
38 x 2 ngo-identity/templates
ngo-identity/templates
cognito-apigateway-routes-template.yaml
cognito-apigateway-routes-template.yaml
89:126 (17%)
132:169 (17%)
view
27 x 2 ngo-ui/src/app/ui/ngo-details
ngo-ui/src/app/ui/ngos-list
ngo-details.component.html
ngos-list.component.html
134:173 (17%)
127:168 (17%)
view
26 x 2 ngo-ui/src/app/ui/signin
ngo-ui/src/app/ui/signup
signin.component.html
signup.component.html
1:27 (68%)
1:26 (59%)
view
22 x 2 ngo-ui/src/app/ui/ngo-details
ngo-ui/src/app/ui/ngo-details
ngo-details.component.html
ngo-details.component.html
77:98 (14%)
88:109 (14%)
view
20 x 2 ngo-ui/src/app/ui/dashboard
ngo-ui/src/app/ui/ngo-details
dashboard.component.html
ngo-details.component.html
1:20 (32%)
1:20 (13%)
view
Duplicated Units
The list of top 16 duplicated units.
See data for all 16 unit duplicates...
Size#FoldersFilesLinesCode
185 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
176:411 
157:392 
157:392 
view
57 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
72:152 
53:133 
53:133 
view
34 x 2 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo.js
ngo.js
676:716 
624:664 
view
26 x 2 ngo-ui/src/app/ui/ngos-list
ngo-ui/src/app/ui/ngo-details
ngos-list.component.ts
ngo-details.component.ts
101:127 
90:116 
view
22 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
799:827 
747:775 
727:755 
view
18 x 2 ngo-ui/src/app/ui/ngos-list
ngo-ui/src/app/ui/ngo-details
ngos-list.component.ts
ngo-details.component.ts
133:151 
122:140 
view
17 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
450:468 
431:449 
418:436 
view
15 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
498:517 
479:498 
466:485 
view
15 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
604:623 
552:571 
539:558 
view
15 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
977:996 
925:944 
905:924 
view
10 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
32:43 
32:43 
32:43 
view
8 x 2 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo.js
ngo.js
416:424 
397:405 
view
8 x 4 ngo-identity/chaincode/src
ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
ngo.js
525:535 
631:641 
506:516 
493:503 
view
8 x 3 ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
1020:1029 
968:977 
948:957 
view
7 x 4 ngo-identity/chaincode/src
ngo-identity/chaincode/src
ngo-events/chaincode/src
ngo-chaincode/src
ngo.js
ngo.js
ngo.js
ngo.js
741:749 
757:765 
689:697 
669:677 
view
6 x 2 ngo-ui/src/app/models
ngo-ui/src/app/models
ngo.model.ts
donation.model.ts
67:74 
50:57 
view