Skip to content

Draw the data model in the wiki - #35

Merged
elgorro merged 1 commit into
mainfrom
docs/data-model-diagrams
Aug 12, 2026
Merged

Draw the data model in the wiki#35
elgorro merged 1 commit into
mainfrom
docs/data-model-diagrams

Conversation

@elgorro

@elgorro elgorro commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Closes #36

The domain model landed in #33 with 47 entities and no map — reading the EF configurations was the only way to see how communities, sessions and matches fit together.

This adds a Data model section to the wiki: an overview page plus one ER diagram per area, drawn from src/Ssabba.Infrastructure/Configurations.

  • _index.md — flowchart of how the areas hang off Community/CommunityMember, and the schema-wide conventions (Guid v7 keys, int-stored enums, AmountMinor + char(3) money, the four soft-deleted entities).
  • Identity and communities — shared-PK profile, memberships, invites and join requests, seasons. Notes that rating lives on the membership, not the player.
  • Venues and sessions — the GiST no-overlap exclusion on reservations, recurring sessions, the plus-one self-reference and the waitlist check constraint, weather, polls.
  • Matches and ratings — why a match snapshots its scoring rules, MatchAppearance as the rating journal, and the RatingAppliedAt worker queue.
  • Operations and money — double-entry ledger, its check constraints and the reversal self-FK, dues, funding, equipment loans.
  • Privacy and notifications — append-only consent, the deliberately FK-less AuditEvent.EntityId, the outbox and its partial pending index.

No configuration or theme change: hugo-book already renders plain ```mermaid fences.

Verification

  • hugo --minify builds clean; every relref resolves.
  • All nine diagrams parse against mermaid 11, so none render blank.
  • Cardinality and delete behaviour spot-checked against SessionParticipantConfiguration, MatchAppearanceConfiguration and LedgerEntryConfiguration.

Docs only — no code touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01F9TP5WEbVsmAWQS4uAds3Q

The domain landed with 47 entities and no map. Reading the EF configurations was
the only way to see how communities, sessions and matches fit together.

Add a Data model section: an overview of how everything hangs off a community and
its members, then one ER diagram per area. The hugo-book theme already renders
mermaid fences, so no configuration changes were needed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F9TP5WEbVsmAWQS4uAds3Q
@elgorro elgorro added area: docs Hugo wiki and README area: data EF Core, DbContext and migrations (Ssabba.Infrastructure) type: chore Maintenance, refactors, tooling labels Aug 12, 2026
@elgorro
elgorro merged commit 745e7c7 into main Aug 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: data EF Core, DbContext and migrations (Ssabba.Infrastructure) area: docs Hugo wiki and README type: chore Maintenance, refactors, tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Visualise the data model in the wiki

1 participant