mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 20:13:49 +00:00
95 lines
1.8 KiB
Plaintext
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
|