mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 02:32:57 +00:00
109 lines
3.4 KiB
Plaintext
109 lines
3.4 KiB
Plaintext
%%{init: {
|
|
'theme': 'forest',
|
|
'flowchart': { 'curve': 'linear' },
|
|
'themeCSS': '.edgePath path { stroke-dasharray: 6 4; animation: dash 16s linear infinite; } @keyframes dash { to { stroke-dashoffset: -1000; } }'
|
|
}}%%
|
|
flowchart LR
|
|
|
|
classDef svc fill:#e0f2fe,stroke:#0284c7,color:#0c4a6e;
|
|
classDef admin fill:#dcfce7,stroke:#16a34a,color:#065f46;
|
|
classDef pub fill:#f1f5f9,stroke:#334155,color:#0f172a;
|
|
classDef core fill:#ede9fe,stroke:#7c3aed,color:#4c1d95;
|
|
|
|
api_core["services/api.ts (Axios core)"]:::core
|
|
|
|
subgraph Services
|
|
direction TB
|
|
s_settings[settings.ts]:::svc
|
|
s_page_elements[pageElements.ts]:::svc
|
|
s_articles[articles.ts]:::svc
|
|
s_players[players.ts]:::svc
|
|
s_sponsors[sponsors.ts]:::svc
|
|
s_banners[banners.ts]:::svc
|
|
s_comp_alias[competitionAliases.ts]:::svc
|
|
s_events[eventService.ts]:::svc
|
|
s_setup[setup.ts]:::svc
|
|
s_engagement[engagement.ts]:::svc
|
|
s_action[actionLog.ts]:::svc
|
|
s_facr[facr/facrApi.ts]:::svc
|
|
s_files[files.ts]:::svc
|
|
s_image[imageProcessing.ts]:::svc
|
|
s_shortlinks[shortlinks.ts]:::svc
|
|
s_scoreboard[scoreboard.ts]:::svc
|
|
s_youtube[youtube.ts]:::svc
|
|
s_zonerama[zonerama.ts]:::svc
|
|
s_errors[errors.ts]:::svc
|
|
s_contactInfo[contactInfo.ts]:::svc
|
|
s_public[public.ts]:::svc
|
|
s_editor[editorController.ts]:::svc
|
|
end
|
|
|
|
subgraph AdminAPIs
|
|
direction TB
|
|
s_admin_comments[admin/comments.ts]:::admin
|
|
s_admin_msgs[admin/contactMessages.ts]:::admin
|
|
s_admin_eng[admin/engagement.ts]:::admin
|
|
s_admin_news[admin/newsletter.ts]:::admin
|
|
s_admin_prefetch[admin/prefetch.ts]:::admin
|
|
s_admin_matches[adminMatches.ts]:::admin
|
|
end
|
|
|
|
api_core --> Services
|
|
api_core --> AdminAPIs
|
|
|
|
subgraph PublicEndpoints["Representative public endpoints"]
|
|
direction TB
|
|
e_articles["/articles, /articles/slug/:slug, /articles/:id"]:::pub
|
|
e_featured["/articles/featured"]:::pub
|
|
e_players["/players, /players/:id"]:::pub
|
|
e_teams["/teams, /teams/:id"]:::pub
|
|
e_scores["/matches, /standings, /matches/history"]:::pub
|
|
e_gallery["/gallery/albums, /gallery/albums/:id"]:::pub
|
|
e_youtube["/youtube/videos"]:::pub
|
|
e_settings["/settings"]:::pub
|
|
e_scoreboard_pub["/scoreboard, /scoreboard/sponsors, /scoreboard/qr"]:::pub
|
|
e_contact["/contact"]:::pub
|
|
e_short_pub["/shortlinks/public"]:::pub
|
|
e_polls["/polls, /polls/:id, /polls/:id/vote, /polls/:id/results"]:::pub
|
|
end
|
|
|
|
%% Map key services to endpoints
|
|
s_articles --> e_articles
|
|
s_articles --> e_featured
|
|
s_players --> e_players
|
|
s_settings --> e_settings
|
|
s_page_elements --> e_settings
|
|
s_comp_alias --> e_scores
|
|
s_events --> e_scores
|
|
s_zonerama --> e_gallery
|
|
s_youtube --> e_youtube
|
|
s_scoreboard --> e_scoreboard_pub
|
|
s_contactInfo --> e_contact
|
|
s_shortlinks --> e_short_pub
|
|
s_public --> e_settings
|
|
|
|
subgraph AdminEndpoints["Representative admin endpoints"]
|
|
direction TB
|
|
a_settings["/admin/settings"]:::admin
|
|
a_files["/admin/files"]:::admin
|
|
a_nav["/admin/navigation, /admin/social-links"]:::admin
|
|
a_comments["/admin/comments"]:::admin
|
|
a_msgs["/admin/contact-messages"]:::admin
|
|
a_news["/admin/newsletter"]:::admin
|
|
a_matches["/admin/matches"]:::admin
|
|
a_sweep["/admin/sweepstakes"]:::admin
|
|
a_scoreboard["/admin/scoreboard"]:::admin
|
|
a_shortlinks["/admin/shortlinks"]:::admin
|
|
end
|
|
|
|
s_admin_comments --> a_comments
|
|
s_admin_msgs --> a_msgs
|
|
s_admin_eng --> a_settings
|
|
s_admin_news --> a_news
|
|
s_admin_prefetch --> a_settings
|
|
s_admin_matches --> a_matches
|
|
s_files --> a_files
|
|
s_navigation[navigation.ts]:::svc --> a_nav
|
|
s_shortlinks --> a_shortlinks
|
|
s_scoreboard --> a_scoreboard
|