-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deployed 03c37ae with MkDocs version: 1.6.0
- Loading branch information
0 parents
commit 49d5242
Showing
114 changed files
with
87,895 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
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
13
architecture/c4/level_2_container/01_app_with_relational_db.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
13
architecture/c4/level_2_container/02_app_with_dynamodb.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
13
architecture/c4/level_2_container/03_app_sftp_file_transfer.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
16
architecture/c4/level_2_container/05_order_management_system.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
26 changes: 26 additions & 0 deletions
26
architecture/c4/level_2_container/06_customer_management_system.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
48
architecture/c4/level_2_container/container/containers.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
45
architecture/c4/level_3_component/01_app_with_relational_db.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
45
architecture/c4/level_3_component/02_app_with_dynamodb.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
50
architecture/c4/level_3_component/03_app_sftp_file_transfer.puml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Oops, something went wrong.