Skip to content

Commit

Permalink
Deployed 03c37ae with MkDocs version: 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Oct 19, 2024
0 parents commit 49d5242
Show file tree
Hide file tree
Showing 114 changed files with 87,895 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
1,280 changes: 1,280 additions & 0 deletions 404.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions architecture/c4/level_2_container/01_app_with_relational_db.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@startuml
!include ./container/containers.puml

skinparam dpi 120

title Container Diagram - Application with Relational Database

appContainer()
relationalDbContainer()

Rel_R(app, relationalDb, "Reads from and writes to", "SQLAlchemy")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions architecture/c4/level_2_container/02_app_with_dynamodb.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@startuml
!include ./container/containers.puml

skinparam dpi 120

title Container Diagram - Application with DynamoDB Database

appContainer()
dynamoDbContainer()

Rel_R(app, dynamoDb, "Reads from and writes to", "aiobotocore")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions architecture/c4/level_2_container/03_app_sftp_file_transfer.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@startuml
!include ./container/containers.puml

title Container Diagram - SFTP File Transfer Application

appContainer()
externalSftpContainer()
s3BucketContainer()

Rel_L(app, externalSftp, "Reads files from", "AsyncSSH")
Rel_R(app, s3Bucket, "Transfers files to", "aiobotocore")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions architecture/c4/level_2_container/04_file_store_app.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
@startuml
!include ./container/containers.puml

skinparam dpi 120

title Container Diagram - File Store Application

Person(user, "User")

fileStoreAppContainer()
s3BucketContainer()

Rel_R(user, fileStoreApp, "Reads and uploads files", "HTTP, JSON")
Rel_R(fileStoreApp, s3Bucket, "Reads and writes data to", "aiobotocore")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions architecture/c4/level_2_container/05_order_management_system.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
@startuml
!include ./container/containers.puml

skinparam dpi 120

title Container Diagram - Order Management System

Person(user, "Customer")

orderAppContainer()
creditCheckAppContainer()

Rel_R(user, orderApp, "Places new orders", "HTTP, JSON")
Rel_R(orderApp, creditCheckApp, "Verifies customer's credit for new orders", "HTTP, JSON")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@startuml
!include ./container/containers.puml

skinparam dpi 120

title Container Diagram - Customer Management System

Person(user, "Customer")

Boundary(customerAppBoundary, "Customer Management Application", "Container") {
customerAppContainer()
dynamoDbContainer()
}

orderAppExtContainer()
awsSnsSqsContainer()

Rel(user, customerApp, "Creates a new user account", "HTTP, JSON")
Rel(user, orderExtApp, "Places new orders", "HTTP, JSON")

Rel(customerApp, dynamoDb, "Reads and stores customer information", "aiobotocore")
Rel(customerApp, awsSnsSqs, "Receives and publishes events", "aiobotocore, JSON")

Rel(orderExtApp, awsSnsSqs, "Receives and publishes events", "aiobotocore, JSON")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions architecture/c4/level_2_container/container/containers.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
@startuml
!include <C4/C4_Container>

!procedure appContainer()
Container(app, "Application", "Python, tomodachi")
!endprocedure

!procedure fileStoreAppContainer()
Container(fileStoreApp, "File Store Application", "Python, tomodachi", "Provides a text-based file storage service.")
!endprocedure

!procedure orderAppContainer()
Container(orderApp, "Order Management Application", "Python, tomodachi", "Manages order lifecycle.")
!endprocedure

!procedure orderAppExtContainer()
Container_Ext(orderExtApp, "Order Management Application", "", "Manages order lifecycle.")
!endprocedure

!procedure customerAppContainer()
Container(customerApp, "Customer Management Application", "Python, tomodachi", "Manages customer lifecycle.")
!endprocedure

!procedure creditCheckAppContainer()
Container_Ext(creditCheckApp, "Credit Check Application", "", "Keeps track of customer's credit score.")
!endprocedure

!procedure relationalDbContainer()
ContainerDb(relationalDb, "Relational database", "PostgreSQL", "Datastore.")
!endprocedure

!procedure dynamoDbContainer()
ContainerDb(dynamoDb, "DynamoDB key-value database", "DynamoDB", "Datastore.")
!endprocedure

!procedure externalSftpContainer()
Container_Ext(externalSftp, "Client SFTP server", "SFTP", "Files provided by a client.")
!endprocedure

!procedure s3BucketContainer()
Container(s3Bucket, "S3 bucket", "AWS S3", "Internal file storage.")
!endprocedure

!procedure awsSnsSqsContainer()
ContainerQueue(awsSnsSqs, "AWS SNS/SQS message bus", "AWS SNS/SQS", "AWS managed asynchronous message bus.")
!endprocedure

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions architecture/c4/level_3_component/01_app_with_relational_db.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
@startuml
!include <C4/C4_Component>
!include ../level_2_container/container/containers.puml

skinparam dpi 110

title Container Diagram - Application with Relational Database

relationalDbContainer()

Boundary(appContainerBoundary, "Application", "Container") {
Boundary(serviceLayer, "Service", "Layer") {
Component(useCases, "Use cases", "Python", "Application use cases (services).")
}

Boundary(domainLayer, "Domain", "Layer") {
Component(domain, "Domain", "Python", "Application domain objects.")

Component(ports, "Ports", "Python, typing.Protocol", "Ports protocol.")
}

Boundary(infrastructureLayer, "Adapters", "Layer") {
Component(Repository, "In-memory repository", "Python", "Fake in-memory repository for testing and demo purposes.")

Component_Ext(postgresRepository, "PostgreSQL repository", "Python, SQLAlchemy", "Adapter for PostgreSQL database.")
}
}

Component(testcontainers, "Testcontainers", "Python, pytest", "Testcontainers library.")

Lay_R(domain, ports)

Lay_R(Repository, postgresRepository)

Rel_D(useCases, ports, "Uses")
Rel_D(useCases, domain, "Uses")

Rel_U(Repository, ports, "Implements")
Rel_U(postgresRepository, ports, "Implements")

Rel_D(postgresRepository, relationalDb, "Reads from and writes to", "SQLAlchemy")

Rel_U(testcontainers, relationalDb, "Creates PostgreSQL Testcontainer")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions architecture/c4/level_3_component/02_app_with_dynamodb.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
@startuml
!include <C4/C4_Component>
!include ../level_2_container/container/containers.puml

skinparam dpi 110

title Container Diagram - Application with DynamoDB Database

dynamoDbContainer()

Boundary(appContainerBoundary, "Application", "Container") {
Boundary(serviceLayer, "Service", "Layer") {
Component(useCases, "Use cases", "Python", "Application use cases (services).")
}

Boundary(domainLayer, "Domain", "Layer") {
Component(domain, "Domain", "Python", "Application domain objects.")

Component(ports, "Ports", "Python, typing.Protocol", "Ports protocol.")
}

Boundary(infrastructureLayer, "Adapters", "Layer") {
Component(Repository, "In-memory repository", "Python", "Fake in-memory repository for testing and demo purposes.")

Component(dynamoDbRepository, "DynamoDB repository", "Python, aiobotocore", "Adapter for DynamoDB database.")
}
}

Component(testcontainers, "Testcontainers", "Python, pytest", "Testcontainers library.")

Lay_R(domain, ports)

Lay_R(Repository, dynamoDbRepository)

Rel_D(useCases, ports, "Uses")
Rel_D(useCases, domain, "Uses")

Rel_U(Repository, ports, "Implements")
Rel_U(dynamoDbRepository, ports, "Implements")

Rel_D(dynamoDbRepository, dynamoDb, "Reads from and writes to", "aiobotocore")

Rel_U(testcontainers, dynamoDb, "Creates LocalStack Testcontainer")

@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions architecture/c4/level_3_component/03_app_sftp_file_transfer.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
@startuml
!include <C4/C4_Component>
!include ../level_2_container/container/containers.puml

skinparam dpi 125

title Container Diagram - SFTP File Transfer Application

externalSftpContainer()
s3BucketContainer()

Boundary(appContainerBoundary, "Application", "Container") {
Boundary(serviceLayer, "Service", "Layer") {
Component(useCases, "Use cases", "Python", "Application use cases (services).")
}

Boundary(domainLayer, "Domain", "Layer") {
Component(domain, "Domain", "Python", "Application domain objects.")

Component(ports, "Ports", "Python, typing.Protocol", "Ports protocol.")
}

Boundary(infrastructureLayer, "Adapters", "Layer") {
Component_Ext(sftpClient, "SFTP client", "Python, AsyncSSH", "Adapter for SFTP file operations.")

Component_Ext(s3Client, "S3 client", "Python, aiobotocore", "Adapter for S3 file operations.")

Component(fakeSftpClient, "In-memory SFTP client", "Python", "Fake for testing and demo purposes.")

Component(fakeS3Client, "In-memory S3 client", "Python", "Fake for testing and demo purposes.")
}
}

Component(testcontainers, "Testcontainers", "Python, pytest", "Testcontainers library.")

Rel_D(useCases, ports, "Uses")
Rel_D(useCases, domain, "Uses")

Rel_U(sftpClient, ports, "Implements")
Rel_U(s3Client, ports, "Implements")
Rel_U(fakeSftpClient, ports, "Implements")
Rel_U(fakeS3Client, ports, "Implements")

Rel_D(sftpClient, externalSftp, "Reads files from", "AshyncSSH")
Rel_D(s3Client, s3Bucket, "Transfers files to ", "aiobotocore")

Rel_U(testcontainers, externalSftp, "Creates SFTP Testcontainer")
Rel_U(testcontainers, s3Bucket, "Creates LocalStack Testcontainer")

@enduml
Loading

0 comments on commit 49d5242

Please sign in to comment.