aws-samples / aws-cdk-examples
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (84 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 84 components.
  • 275 files, 10,080 lines of code (92.1% vs. main code).
  • "python/image-content-search" is biggest, containing 8.03% of code.
  • "ROOT" is smallest, containing 0.01% of code.


python/image-content-search809 LOC (7%) 14 files
typescript/ecs647 LOC (5%) 17 files
python/ecs347 LOC (3%) 7 files
python/lambda-ddb-mysql-etl-pipeline337 LOC (3%) 6 files
typescript/waf307 LOC (2%) 3 files
python/waf276 LOC (2%) 3 files
python/static-site248 LOC (2%) 3 files
csharp/elasticbeanstalk244 LOC (2%) 5 files
typescript/api-cors-lambda-crud-dynamodb235 LOC (2%) 6 files
typescript/lambda-manage-s3-event-notification219 LOC (2%) 3 files
java/alb-multi-rule-response204 LOC (1%) 3 files
typescript/lambda-api-ci201 LOC (1%) 4 files
typescript/elasticbeanstalk201 LOC (1%) 3 files
typescript/api-websocket-lambda-dynamodb189 LOC (1%) 4 files
python/docker-app-with-asg-alb188 LOC (1%) 7 files
python/url-shortener167 LOC (1%) 5 files
go/ecs164 LOC (1%) 3 files
python/s3-object-lambda157 LOC (1%) 4 files
java/codebuild156 LOC (1%) 6 files
python/api-eventbridge-lambda150 LOC (1%) 5 files
csharp/appsync-graphql-dynamodb149 LOC (1%) 2 files
python/new-vpc-alb-asg-mysql147 LOC (1%) 5 files
csharp/my-widget-service141 LOC (1%) 3 files
csharp/static-site141 LOC (1%) 5 files
typescript/s3-object-lambda137 LOC (1%) 2 files
python/codepipeline-docker-build136 LOC (1%) 4 files
python/dynamodb-lambda135 LOC (1%) 6 files
python/cross-stack-resources132 LOC (1%) 10 files
typescript/my-widget-service131 LOC (1%) 3 files
typescript/appsync-graphql-dynamodb130 LOC (1%) 1 files
typescript/static-site128 LOC (1%) 4 files
typescript/appsync-graphql-eventbridge128 LOC (1%) 1 files
python/emr127 LOC (1%) 1 files
python/my-widget-service122 LOC (1%) 4 files
python/appsync-graphql-dynamodb120 LOC (1%) 3 files
python/batch114 LOC (1%) 3 files
python/rekognition-lambda-s3-trigger111 LOC (1%) 4 files
csharp/stepfunctions-job-poller100 LOC (<1%) 3 files
python/ec2-cloudwatch100 LOC (<1%) 4 files
python/api-sqs-lambda97 LOC (<1%) 5 files
python/lambda-cloudwatch-dashboard97 LOC (<1%) 5 files
python/stepfunctions95 LOC (<1%) 6 files
java/my-widget-service83 LOC (<1%) 1 files
csharp/random-writer80 LOC (<1%) 3 files
python/existing-vpc-new-ec2-ebs-userdata79 LOC (<1%) 3 files
typescript/neptune-with-vpc76 LOC (<1%) 2 files
typescript/lambda-cloudwatch-dashboard74 LOC (<1%) 2 files
typescript/stepfunctions-job-poller74 LOC (<1%) 3 files
typescript/custom-resource-provider73 LOC (<1%) 3 files
typescript/resource-overrides70 LOC (<1%) 1 files
typescript/custom-resource63 LOC (<1%) 3 files
python/custom-resource62 LOC (<1%) 2 files
typescript/fsx-ad61 LOC (<1%) 1 files
python/lambda-from-container56 LOC (<1%) 2 files
typescript/http-proxy-apigateway55 LOC (<1%) 2 files
go/eks54 LOC (<1%) 1 files
typescript/ec2-instance53 LOC (<1%) 1 files
csharp/capitalize-string51 LOC (<1%) 4 files
csharp/application-load-balancer51 LOC (<1%) 2 files
go/classic-load-balancer50 LOC (<1%) 1 files
csharp/classic-load-balancer49 LOC (<1%) 2 files
python/api-cors-lambda48 LOC (<1%) 2 files
typescript/cognito-api-lambda45 LOC (<1%) 2 files
go/lambda-cron44 LOC (<1%) 2 files
python/ec242 LOC (<1%) 1 files
python/lambda-triggered-by-existing-kinesis-stream41 LOC (<1%) 2 files
csharp/lambda-cron40 LOC (<1%) 3 files
python/application-load-balancer36 LOC (<1%) 1 files
typescript/eks35 LOC (<1%) 1 files
typescript/application-load-balancer33 LOC (<1%) 1 files
python/lambda-cron33 LOC (<1%) 2 files
typescript/lambda-layer32 LOC (<1%) 2 files
python/lambda-layer32 LOC (<1%) 4 files
python/classic-load-balancer30 LOC (<1%) 1 files
typescript/lambda-cron29 LOC (<1%) 3 files
python/lambda-s3-trigger29 LOC (<1%) 4 files
typescript/classic-load-balancer28 LOC (<1%) 1 files
python/rds27 LOC (<1%) 1 files
python/lambda-with-existing-s3-code25 LOC (<1%) 1 files
typescript/custom-logical-names23 LOC (<1%) 2 files
typescript/amplify-console-app20 LOC (<1%) 1 files
java/custom-resource17 LOC (<1%) 1 files
java/static-site12 LOC (<1%) 2 files
ROOT1 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-31 15:49