mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-14 17:54:42 +00:00
Refactor documentation and diagrams for web/pipeline. (#272)
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> for assistance with diagram creation and documentation prose updates.
This commit is contained in:
13
docs/web/diagrams/deployment/db-only.mmd
Normal file
13
docs/web/diagrams/deployment/db-only.mmd
Normal file
@@ -0,0 +1,13 @@
|
||||
sequenceDiagram
|
||||
box Database-only Environment (docker-compose.db.yaml)
|
||||
participant DbOnlyDB as SQL Server<br/>:1434
|
||||
participant DbOnlySeaweedFS as seaweedfs<br/>S3-compatible object storage
|
||||
participant DbOnlyMig as Migrations (run-once)
|
||||
participant DbOnlySeed as Seed (run-once)
|
||||
end
|
||||
|
||||
DbOnlyMig-->>DbOnlyDB: depends_on
|
||||
DbOnlyMig->>DbOnlyDB: Run migrations
|
||||
DbOnlySeed-->>DbOnlyMig: depends_on
|
||||
DbOnlySeed-->>DbOnlySeaweedFS: depends_on
|
||||
DbOnlySeed->>DbOnlyDB: Seed data
|
||||
20
docs/web/diagrams/deployment/dev.mmd
Normal file
20
docs/web/diagrams/deployment/dev.mmd
Normal file
@@ -0,0 +1,20 @@
|
||||
sequenceDiagram
|
||||
actor Developer
|
||||
participant Host as Docker Host
|
||||
box Development Environment (docker-compose.dev.yaml)
|
||||
participant DevDB as SQL Server 2022<br/>Biergarten Database<br/>:1434
|
||||
participant DevMig as Migrations (run-once)<br/>Database.Migrations
|
||||
participant DevSeed as Seed (run-once)<br/>Database.Seed
|
||||
participant DevAPI as API Container<br/>ASP.NET Core 10<br/>:8080 HTTP / :8081 HTTPS
|
||||
participant DevMailpit as Mailpit<br/>:8025 Web UI / :1025 SMTP
|
||||
end
|
||||
|
||||
Developer->>Host: docker compose up
|
||||
DevMig-->>DevDB: depends_on (healthy)
|
||||
DevMig->>DevDB: Run migrations
|
||||
DevSeed-->>DevMig: depends_on
|
||||
DevSeed->>DevDB: Seed data
|
||||
DevAPI-->>DevSeed: depends_on
|
||||
DevAPI->>DevDB: Connect and serve
|
||||
DevAPI-->>DevMailpit: SMTP_HOST/PORT
|
||||
Host->>DevAPI: http://localhost:8080
|
||||
15
docs/web/diagrams/deployment/minimal.mmd
Normal file
15
docs/web/diagrams/deployment/minimal.mmd
Normal file
@@ -0,0 +1,15 @@
|
||||
sequenceDiagram
|
||||
box Minimal Environment (docker-compose.min.yaml)
|
||||
participant MinDB as SQL Server<br/>:1433
|
||||
participant MinSeaweedFS as seaweedfs<br/>S3-compatible object storage
|
||||
participant MinMig as Migrations (run-once)
|
||||
participant MinSeed as Seed (run-once)
|
||||
participant MinMailpit as Mailpit<br/>:8025 / :1025
|
||||
end
|
||||
|
||||
MinMig-->>MinDB: depends_on
|
||||
MinMig->>MinDB: Run migrations
|
||||
MinSeed-->>MinMig: depends_on
|
||||
MinSeed-->>MinSeaweedFS: depends_on
|
||||
MinSeed->>MinDB: Seed data
|
||||
Note over MinDB,MinMailpit: consumed by an externally run API.Core process (not shown)
|
||||
11
docs/web/diagrams/deployment/prod.mmd
Normal file
11
docs/web/diagrams/deployment/prod.mmd
Normal file
@@ -0,0 +1,11 @@
|
||||
sequenceDiagram
|
||||
box Production Environment (docker-compose.prod.yaml)
|
||||
participant ProdDB as SQL Server 2022<br/>Biergarten Database<br/>no host port published
|
||||
participant ProdMig as Migrations (run-once)
|
||||
participant ProdAPI as API Container<br/>ASP.NET Core 10<br/>:8080 HTTP / :8081 HTTPS
|
||||
end
|
||||
|
||||
ProdMig-->>ProdDB: depends_on
|
||||
ProdMig->>ProdDB: Run migrations
|
||||
ProdAPI-->>ProdDB: depends_on: sql-server healthy (not migrations/seed)
|
||||
ProdAPI->>ProdDB: Connect and serve
|
||||
29
docs/web/diagrams/deployment/test.mmd
Normal file
29
docs/web/diagrams/deployment/test.mmd
Normal file
@@ -0,0 +1,29 @@
|
||||
sequenceDiagram
|
||||
box Test Environment (docker-compose.test.yaml)
|
||||
participant TestDB as SQL Server, isolated instance<br/>Biergarten Test Database<br/>no host port published
|
||||
participant TestSeaweedFS as seaweedfs<br/>S3-compatible object storage
|
||||
participant TestMig as Migrations (test)
|
||||
participant TestSeed as Seed (test)<br/>minimal: test.user only
|
||||
participant Specs as API.Specs<br/>Reqnroll + xUnit<br/>(integration tests)
|
||||
participant UnitTests as unit.tests<br/>xUnit + Moq<br/>Features.*.Tests, one container
|
||||
participant FrontendTests as frontend.tests<br/>Playwright/Vitest
|
||||
end
|
||||
participant Results as test-results/ (mounted volume)
|
||||
|
||||
TestMig-->>TestDB: depends_on
|
||||
TestMig->>TestDB: Migrate
|
||||
TestSeed-->>TestMig: depends_on
|
||||
TestSeed-->>TestSeaweedFS: depends_on
|
||||
TestSeed->>TestDB: Seed
|
||||
|
||||
par Specs
|
||||
Specs-->>TestSeed: depends_on
|
||||
Specs->>TestDB: Integration test
|
||||
Specs->>Results: Export TRX
|
||||
and unit.tests
|
||||
UnitTests-->>TestSeed: depends_on
|
||||
UnitTests-->>TestDB: depends_on (startup ordering only, no real connection)
|
||||
UnitTests->>Results: Export TRX, one per slice
|
||||
and frontend.tests
|
||||
FrontendTests->>Results: Export results
|
||||
end
|
||||
Reference in New Issue
Block a user