Files
the-biergarten-app/docs/diagrams/deployment.puml
2026-02-15 21:13:07 -05:00

95 lines
1.8 KiB
Plaintext

@startuml deployment
!theme plain
skinparam backgroundColor #FFFFFF
skinparam defaultFontName Arial
title Docker Deployment Architecture
package "Development Environment\n(docker-compose.dev.yaml)" #E3F2FD {
node "SQL Server" as DevDB {
database "Biergarten\nDatabase"
}
node "API Container" as DevAPI {
component "API.Core" as API1
component "Port: 8080"
}
node "Migrations" as DevMig {
component "Database.Migrations"
}
node "Seed" as DevSeed {
component "Database.Seed"
}
}
package "Test Environment\n(docker-compose.test.yaml)" #FFF3E0 {
node "SQL Server" as TestDB {
database "Test\nDatabase"
}
node "Migrations" as TestMig {
component "Database.Migrations"
}
node "Seed" as TestSeed {
component "Database.Seed"
}
node "API.Specs" as Specs {
component "Reqnroll\nIntegration Tests"
}
node "Repository Tests" as RepoTests {
component "xUnit\nData Access Tests"
}
node "Service Tests" as SvcTests {
component "xUnit\nAuth Service Tests"
}
}
folder "test-results/" as Results {
file "api-specs/results.trx"
file "repository-tests/results.trx"
file "service-auth-tests/results.trx"
}
' Development flow
DevMig --> DevDB : migrate
DevSeed --> DevDB : seed
DevAPI --> DevDB : connect
' Test flow
TestMig --> TestDB : migrate
TestSeed --> TestDB : seed
Specs --> TestDB : test
RepoTests --> TestDB : test
SvcTests ..> TestDB : mock
Specs --> Results : export
RepoTests --> Results : export
SvcTests --> Results : export
' Notes
note right of DevAPI
Swagger UI:
http://localhost:8080/swagger
end note
note right of Results
Test results
exported to host
end note
note bottom of TestDB
Isolated environment
Fresh database each run
end note
@enduml