mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-03 18:22:57 +00:00
123 lines
3.1 KiB
Plaintext
123 lines
3.1 KiB
Plaintext
%%{init: {
|
|
'theme': 'neutral',
|
|
'flowchart': { 'curve': 'linear' },
|
|
'themeCSS': '.edgePath path { stroke-dasharray: 6 4; animation: dash 18s linear infinite; } @keyframes dash { to { stroke-dashoffset: -1000; } }'
|
|
}}%%
|
|
flowchart TB
|
|
|
|
classDef grp fill:#0f172a,stroke:#334155,color:#e5e7eb;
|
|
classDef model fill:#111827,stroke:#475569,color:#e5e7eb;
|
|
|
|
subgraph CORE["Core"]
|
|
direction LR
|
|
m_settings["Settings"]:::model
|
|
m_user["User"]:::model
|
|
m_user_profile["UserProfile"]:::model
|
|
end
|
|
|
|
subgraph CONTENT["Content"]
|
|
direction LR
|
|
m_article["Article"]:::model
|
|
m_category["Category"]:::model
|
|
m_page_el["PageElementConfig"]:::model
|
|
m_uploaded["UploadedFile"]:::model
|
|
m_file_usage["FileUsage"]:::model
|
|
end
|
|
|
|
subgraph NAV["Navigation"]
|
|
direction LR
|
|
m_nav_item["NavigationItem"]:::model
|
|
m_social["SocialLink"]:::model
|
|
m_short["ShortLink"]:::model
|
|
m_click["LinkClick"]:::model
|
|
end
|
|
|
|
subgraph MATCHES["Matches & Teams"]
|
|
direction LR
|
|
m_team["Team"]:::model
|
|
m_player["Player"]:::model
|
|
m_match_over["MatchOverride"]:::model
|
|
m_team_logo_over["TeamLogoOverride"]:::model
|
|
m_comp_alias["CompetitionAlias"]:::model
|
|
m_score_state["ScoreboardState"]:::model
|
|
end
|
|
|
|
subgraph POLLS["Polls"]
|
|
direction LR
|
|
m_poll["Poll"]:::model
|
|
m_poll_opt["PollOption"]:::model
|
|
m_poll_vote["PollVote"]:::model
|
|
end
|
|
|
|
subgraph SWEEPSTAKES["Sweepstakes"]
|
|
direction LR
|
|
m_sw["Sweepstake"]:::model
|
|
m_sw_prize["SweepstakePrize"]:::model
|
|
m_sw_entry["SweepstakeEntry"]:::model
|
|
m_sw_winner["SweepstakeWinner"]:::model
|
|
end
|
|
|
|
subgraph COMMENTS["Comments & Moderation"]
|
|
direction LR
|
|
m_comment["Comment"]:::model
|
|
m_comment_react["CommentReaction"]:::model
|
|
m_comment_ban["CommentBan"]:::model
|
|
m_unban_req["UnbanRequest"]:::model
|
|
m_comment_rep["CommentReport"]:::model
|
|
end
|
|
|
|
subgraph CONTACTS["Contacts & Newsletter"]
|
|
direction LR
|
|
m_contact_cat["ContactCategory"]:::model
|
|
m_contact["Contact"]:::model
|
|
m_contact_msg["ContactMessage"]:::model
|
|
m_news_sub["NewsletterSubscription"]:::model
|
|
m_email_log["EmailLog (models.email)"]:::model
|
|
end
|
|
|
|
subgraph ENGAGE["Engagement & Rewards"]
|
|
direction LR
|
|
m_points_tx["PointsTransaction"]:::model
|
|
m_ach["Achievement"]:::model
|
|
m_user_ach["UserAchievement"]:::model
|
|
m_reward_item["RewardItem"]:::model
|
|
m_reward_red["RewardRedemption"]:::model
|
|
end
|
|
|
|
subgraph SHOP["Shop"]
|
|
direction LR
|
|
m_cloth["Clothing"]:::model
|
|
end
|
|
|
|
subgraph GALLERY["Gallery"]
|
|
direction LR
|
|
m_zonerama_album["ZoneramaAlbum (derived)"]:::model
|
|
end
|
|
|
|
subgraph ERRORS["Error Tracking"]
|
|
direction LR
|
|
m_error["ErrorEvent"]:::model
|
|
end
|
|
|
|
%% (Optional) Indicative relationships (no strict cardinalities)
|
|
%% Using simple arrows to avoid ER notation parse issues
|
|
m_article --> m_category
|
|
m_article --> m_user
|
|
m_file_usage --> m_uploaded
|
|
m_click --> m_short
|
|
m_comment_react --> m_comment
|
|
m_comment_ban --> m_user
|
|
m_unban_req --> m_user
|
|
m_comment_rep --> m_comment
|
|
m_user_profile --> m_user
|
|
m_points_tx --> m_user
|
|
m_user_ach --> m_user
|
|
m_user_ach --> m_ach
|
|
m_reward_red --> m_reward_item
|
|
m_sw_entry --> m_sw
|
|
m_sw_winner --> m_sw
|
|
m_poll_opt --> m_poll
|
|
m_poll_vote --> m_poll
|
|
m_contact_msg --> m_contact
|
|
m_nav_item --> m_article
|