Add mkdocs site and GitHub Pages deployment for docs

This commit is contained in:
Aaron Po
2026-08-31 19:54:04 -04:00
parent d459b8559c
commit f4471c7fd7
26 changed files with 2676 additions and 209 deletions

View File

@@ -1,5 +1,7 @@
@startuml architecture
!include ../../pipeline/diagrams/biergarten-weizen-theme.puml
@startuml architecture_v6
skinparam linetype ortho
skinparam nodesep 90
skinparam ranksep 110
title The Biergarten App - Vertical Slice Architecture
@@ -85,13 +87,19 @@ database "SQL Server" {
}
node "Database.Seed\n(separate console app)" as Seed
note right of Seed
Seed calls each slice's
AddFeatures*() DI extension
directly - no API host,
no MediatR pipeline
end note
' Relationships
API ..> UsersSlice : AddApplicationPart\n+ MediatR scan
API ..> BrewerySlice : AddApplicationPart\n+ MediatR scan
API ..> EmailsSlice : MediatR scan only\n(no controller)
API ..> UsersSlice : AddApplicationPart
API ..> BrewerySlice : AddApplicationPart
API ..> EmailsSlice : MediatR scan only
Seed ..> UsersSlice : AddFeaturesUsers()\n(DI only, no API/MediatR)
Seed ..> UsersSlice : AddFeaturesUsers()
Seed ..> BrewerySlice : AddFeaturesBreweries()
Seed ..> LocationsSlice : AddFeaturesLocations()
@@ -118,8 +126,8 @@ EmailsSlice ..> SharedApp : handles\nSendRegistrationEmailCommand
Sql --> Domain
UsersSlice --> Tables : Dapper SQL
BrewerySlice --> Tables : Dapper SQL
LocationsSlice --> Tables : Dapper SQL
BrewerySlice --> Tables
LocationsSlice --> Tables
UsersSlice --> Domain
BrewerySlice --> Domain

View File

@@ -170,49 +170,33 @@ package "Beer (*)" {
}
' Relationships: User & Auth
User ||--o{ Cred : "has"
User ||--o| Verify : "has"
User ||--o| Profile : "has"
Profile ||--o{ Avatar : "has (history)"
Avatar }o--|| Photo : "refers to"
User ||--o{ Follow : "follows (UserAccountID)"
User ||--o{ Follow : "followed by (FollowingID)"
User ||--o{ Photo : "uploaded"
User ||--o{ Cred
User ||--o| Verify
User ||--o| Profile
Profile ||--o{ Avatar
Avatar }o--|| Photo
User ||--o{ Follow
User ||--o{ Follow
User ||--o{ Photo
' Relationships: Location
Country ||--o{ StateProvince : "has"
StateProvince ||--o{ City : "has"
Country ||--o{ StateProvince
StateProvince ||--o{ City
' Relationships: Brewery
User ||--o{ Brewery : "posted"
Brewery ||--o| BreweryLoc : "has"
City ||--o{ BreweryLoc : "located in"
Brewery ||--o{ BreweryPhoto : "has"
Photo ||--o{ BreweryPhoto : "linked to"
User ||--o{ Brewery
Brewery ||--o| BreweryLoc
City ||--o{ BreweryLoc
Brewery ||--o{ BreweryPhoto
Photo ||--o{ BreweryPhoto
' Relationships: Beer
User ||--o{ Beer : "posted"
BeerStyle ||--o{ Beer : "categorizes"
Brewery ||--o{ Beer : "brewed"
Beer ||--o{ BeerPhoto : "has"
Photo ||--o{ BeerPhoto : "linked to"
Beer ||--o{ BeerComment : "has"
User ||--o{ BeerComment : "commented"
note bottom of User
Auth reads/writes (registration, login, credential
rotation, verification) go through ASP.NET Core
Identity's UserManager<ApplicationUser>, backed by
Features.Users' DapperUserStore - inline SQL, no
stored procedures. Profile/avatar data goes through
Features.Users' UserProfileRepository.
end note
note bottom of Brewery
Backed by Features.Breweries' BreweryRepository
(Dapper); create/update/delete run inline SQL
inside a transaction, with optimistic concurrency
via RowVersion
end note
User ||--o{ Beer
BeerStyle ||--o{ Beer
Brewery ||--o{ Beer
Beer ||--o{ BeerPhoto
Photo ||--o{ BeerPhoto
Beer ||--o{ BeerComment
User ||--o{ BeerComment
@enduml