aws-samples / serverless-patterns
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 (157 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 157 components.
  • 418 files, 17,295 lines of code (93.8% vs. main code).
  • "cognito-restapi-vpclink" is biggest, containing 4.24% of code.
  • "_pattern-model" is smallest, containing 0.06% of code.


cognito-restapi-vpclink734 LOC (3%) 8 files
appsync-notify-subscribers-of-database-updates496 LOC (2%) 8 files
eventbridge-api-destinations440 LOC (2%) 5 files
apigw-http-api-lambda-rds-proxy406 LOC (2%) 4 files
apigw-lambda-qldb341 LOC (1%) 6 files
apigw-websocket-api-lambda287 LOC (1%) 4 files
sfn-log-export286 LOC (1%) 4 files
cdk-eventbridge-appsync-oauth278 LOC (1%) 4 files
cdk-cloudfront-to-s3-and-lambda277 LOC (1%) 9 files
cdk-codecommit-codepipeline-sfn-athena-glue255 LOC (1%) 8 files
apigw-http-api-lambda-rds-proxy-cdk245 LOC (1%) 4 files
apigw-lambda-observability245 LOC (1%) 2 files
parallel-e2e-pipeline-cdk236 LOC (1%) 6 files
apig-waf233 LOC (1%) 5 files
apigw-websocket-api-sqs-lambda217 LOC (1%) 2 files
apigw-rest-api-batch-sam214 LOC (1%) 1 files
apigw-s3-cdk203 LOC (1%) 2 files
amplify_cognito_apigateway_lambda_envvariables203 LOC (1%) 2 files
apigw-vpclink-pvt-alb201 LOC (1%) 1 files
ta-eventbridge-lambda-s3200 LOC (1%) 6 files
cdk-vpc-lambda-sfn191 LOC (1%) 6 files
codecommit-s3187 LOC (1%) 1 files
fargate-sns-sqs-cdk181 LOC (<1%) 3 files
apigw-to-private-apig-cdk179 LOC (<1%) 5 files
eventbridge-cross-region179 LOC (<1%) 4 files
private-apigw-lambda-cdk176 LOC (<1%) 6 files
apigw-rest-api-dynamodb175 LOC (<1%) 1 files
appsync-dynamodb-singletable174 LOC (<1%) 1 files
appsync-dynamodb165 LOC (<1%) 1 files
sfn-glue-sam165 LOC (<1%) 2 files
lambda-aurora-serverless161 LOC (<1%) 2 files
apigw-rest-apigw-rest157 LOC (<1%) 3 files
cfn-custom-resource-s3-create151 LOC (<1%) 3 files
fargate-s3-cdk144 LOC (<1%) 3 files
sqs-lambda-eb-cdk-python143 LOC (<1%) 4 files
apigw-canary-deployment-cdk140 LOC (<1%) 2 files
dynamodb-eventbridge136 LOC (<1%) 3 files
apigw-lambda-dynamodb-cdk135 LOC (<1%) 4 files
aurora-serverless-s3-ingestion135 LOC (<1%) 4 files
cognito-httpapi134 LOC (<1%) 3 files
appsync-dynamodb-singletable-cdk132 LOC (<1%) 3 files
cdk-lambda-appsync132 LOC (<1%) 4 files
lambda-s3-sfn132 LOC (<1%) 4 files
iot-mqttoverhttp-customauth128 LOC (<1%) 2 files
cdk-eventbridge-appsync126 LOC (<1%) 2 files
fargate-sfn-cdk126 LOC (<1%) 3 files
fargate-sqs-cdk125 LOC (<1%) 3 files
s3-eventbridge124 LOC (<1%) 1 files
appsync-direct-lambda-resolver124 LOC (<1%) 3 files
s3-sqs-lambda122 LOC (<1%) 2 files
cdk-eventbridge-stepfunction121 LOC (<1%) 3 files
systems-manager-automation-to-lambda120 LOC (<1%) 2 files
apigw-sqs-lambda119 LOC (<1%) 3 files
apigw-waf-sam116 LOC (<1%) 1 files
fargate-aurora-serverless-cdk115 LOC (<1%) 3 files
apigw-eventbridge114 LOC (<1%) 1 files
apigw-mutualtls-lambda114 LOC (<1%) 2 files
appsync-express-workflow113 LOC (<1%) 2 files
lambda-rekognition111 LOC (<1%) 2 files
sfn-sfn104 LOC (<1%) 1 files
lambda-sns-sms-cdk103 LOC (<1%) 5 files
fargate-eventbridge-cdk102 LOC (<1%) 3 files
fargate-dynamodb-cdk100 LOC (<1%) 3 files
s3-object-lambda100 LOC (<1%) 2 files
lambda-efs-cdk97 LOC (<1%) 5 files
apigw-rest-stepfunction97 LOC (<1%) 1 files
apigw-http-api-eventbridge-dotnet-cdk95 LOC (<1%) 3 files
xray-lambdalayers-cdk-python94 LOC (<1%) 4 files
apigw-rest-api-eventbridge-sam93 LOC (<1%) 1 files
fargate-sns-cdk92 LOC (<1%) 3 files
dynamodb-streams-lambda-event-filters92 LOC (<1%) 3 files
sfn-callback-cdk91 LOC (<1%) 4 files
apigw-sfn89 LOC (<1%) 2 files
s3-lambda86 LOC (<1%) 2 files
sfn-dynamodb-cdk86 LOC (<1%) 4 files
lambda-ssm-parameter84 LOC (<1%) 2 files
apigw-sns-sqs-lambda-cdk80 LOC (<1%) 2 files
sfn-apigw80 LOC (<1%) 2 files
lambda-pinpoint79 LOC (<1%) 2 files
apigw-fargate-cdk77 LOC (<1%) 3 files
lambda-lambda77 LOC (<1%) 4 files
sfn-dynamodb76 LOC (<1%) 1 files
apigw-http-api-lambda75 LOC (<1%) 2 files
apigw-rest-api-dynamodb-cdk75 LOC (<1%) 1 files
apigw-http-api-eventbridge74 LOC (<1%) 3 files
cdk-appsync-sqs72 LOC (<1%) 2 files
apigw-http-api-lambda-cdk71 LOC (<1%) 2 files
rabbitmq-lambda70 LOC (<1%) 2 files
lambda-sfn69 LOC (<1%) 2 files
cdk-appsync-sns68 LOC (<1%) 2 files
sfn-glue-sync-cdk68 LOC (<1%) 2 files
cloudfront-cff-s3-cdk-python67 LOC (<1%) 6 files
sfn-sqs-cdk66 LOC (<1%) 4 files
sfn-eventbridge66 LOC (<1%) 1 files
appsync-eventbridge65 LOC (<1%) 2 files
lambda-ses65 LOC (<1%) 2 files
apigw-iam64 LOC (<1%) 2 files
eventbridge-sfn64 LOC (<1%) 1 files
auroraserverless-secretsmanager64 LOC (<1%) 2 files
sfn-inside-sfn-cdk-python63 LOC (<1%) 3 files
sfn-lambda62 LOC (<1%) 2 files
sns-sqs-cdk62 LOC (<1%) 4 files
s3-eventbridge-direct61 LOC (<1%) 2 files
lambda-dynamodb-cdk60 LOC (<1%) 3 files
sqs-lambda-cdk-python60 LOC (<1%) 4 files
apigw-http-api-eventbridge-cdk60 LOC (<1%) 1 files
lambda-dynamodb59 LOC (<1%) 2 files
lambda-sns-cdk58 LOC (<1%) 2 files
iot-lambda-cdk57 LOC (<1%) 2 files
msk-lambda-cdk57 LOC (<1%) 2 files
lambda-cloudwatch-cdk56 LOC (<1%) 3 files
cloudfront-lambda-edge-cdk-python56 LOC (<1%) 4 files
eventbridge-cloudwatch55 LOC (<1%) 1 files
lambda-sns-sms55 LOC (<1%) 2 files
lambda-sqs-cdk55 LOC (<1%) 3 files
sfn-sns55 LOC (<1%) 1 files
sqs-lambda-cdk54 LOC (<1%) 2 files
fargate-secretsmanager54 LOC (<1%) 2 files
sqs-lambda-dynamodb-cdk54 LOC (<1%) 4 files
apigw-lambda-cdk53 LOC (<1%) 4 files
sfn-sqs50 LOC (<1%) 1 files
sfn-s348 LOC (<1%) 1 files
fargate-cdk47 LOC (<1%) 3 files
eventbridge-scheduled-lambda-cdk-typescript46 LOC (<1%) 3 files
sns-sqs45 LOC (<1%) 1 files
lambda-eventbridge45 LOC (<1%) 2 files
msk-lambda44 LOC (<1%) 2 files
lambda-sqs44 LOC (<1%) 2 files
lambda-sns42 LOC (<1%) 2 files
eventbridge-lambda-cdk42 LOC (<1%) 2 files
lambda-cloudwatch41 LOC (<1%) 2 files
eventbridge-sqs40 LOC (<1%) 1 files
s3-lambda-cdk40 LOC (<1%) 3 files
sns-lambda-cdk39 LOC (<1%) 2 files
dynamodb-lambda-cdk39 LOC (<1%) 3 files
s3-sqs38 LOC (<1%) 1 files
sns-lambda38 LOC (<1%) 2 files
dynamodb-lambda38 LOC (<1%) 2 files
kinesis-lambda-efo38 LOC (<1%) 2 files
eventbridge-sns37 LOC (<1%) 1 files
sqs-lambda37 LOC (<1%) 2 files
s3-sns37 LOC (<1%) 1 files
apigw-lambda-dynamodb37 LOC (<1%) 2 files
eventbridge-cloudwatch-cdk35 LOC (<1%) 1 files
eventbridge-sns-cdk34 LOC (<1%) 1 files
eventbridge-sqs-cdk33 LOC (<1%) 1 files
iot-lambda33 LOC (<1%) 2 files
kinesis-lambda33 LOC (<1%) 2 files
lambda-s332 LOC (<1%) 2 files
eventbridge-lambda31 LOC (<1%) 2 files
sfn-comprehend-sdk29 LOC (<1%) 3 files
dynamodb-kinesis-cdk26 LOC (<1%) 2 files
lambda23 LOC (<1%) 2 files
dynamodb-kinesis22 LOC (<1%) 1 files
s3-sqs-cdk21 LOC (<1%) 1 files
eventbridge-scheduled-lambda19 LOC (<1%) 2 files
_pattern-model10 LOC (<1%) 2 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-31 16:56