mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-05 03:02:56 +00:00
dev day #92
This commit is contained in:
@@ -0,0 +1,236 @@
|
||||
%%{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
|
||||
%% Overall Frontend Architecture
|
||||
classDef cluster fill:#eef7ff,stroke:#2b6cb0,color:#0b3a60;
|
||||
classDef svc fill:#e0f2fe,stroke:#0284c7,color:#0c4a6e;
|
||||
classDef page fill:#fff7ed,stroke:#f59e0b,color:#7c2d12;
|
||||
classDef comp fill:#ecfdf5,stroke:#16a34a,color:#064e3b;
|
||||
classDef ctx fill:#f3e8ff,stroke:#6d28d9,color:#3b0764;
|
||||
classDef hook fill:#fef9c3,stroke:#ca8a04,color:#7c2d12;
|
||||
classDef infra fill:#e3f2fd,stroke:#1e88e5,color:#0c4a6e;
|
||||
|
||||
subgraph Client
|
||||
Browser((Browser)):::infra
|
||||
end
|
||||
|
||||
Browser --> index_tsx[index.tsx]:::infra
|
||||
index_tsx --> ErrorBoundary
|
||||
index_tsx --> AppLazy[App.lazy.tsx]
|
||||
index_tsx --> ServiceWorker[serviceWorkerRegistration.ts]
|
||||
index_tsx --> ErrorReporterSvc[services/errorReporter.ts]
|
||||
|
||||
subgraph Providers
|
||||
Chakra[ChakraProvider]:::infra --> RQ[QueryClientProvider]:::infra --> Router[BrowserRouter]:::infra --> AuthProv[AuthProvider]:::ctx --> ClubThemeProv[ClubThemeProvider]:::ctx --> Helmet[HelmetProvider]:::infra --> Suspense:::infra
|
||||
SEO[DefaultSEO]:::comp
|
||||
CookieBanner:::comp
|
||||
end
|
||||
AppLazy --> Chakra
|
||||
AppLazy --> SEO
|
||||
AppLazy --> CookieBanner
|
||||
Suspense --> Routes
|
||||
|
||||
subgraph Routing
|
||||
Routes:::infra
|
||||
ProtectedRoute:::comp
|
||||
end
|
||||
|
||||
Routes --> PublicRoutes
|
||||
Routes --> AdminRoutes
|
||||
|
||||
subgraph PublicRoutes[Public Pages]
|
||||
HomeRoute --> HomePage
|
||||
HomeRoute --> PremiumHomePage
|
||||
BlogRoute --> BlogPage
|
||||
BlogRoute --> PremiumBlogPage
|
||||
PublicOther[Other Public Routes]
|
||||
end
|
||||
|
||||
subgraph AdminRoutes[Admin Pages]
|
||||
AdminDashboardPage
|
||||
AdminContent[Other Admin Pages]
|
||||
end
|
||||
|
||||
Router --> Routes
|
||||
AuthProv --> ProtectedRoute
|
||||
|
||||
%% Pages and components
|
||||
subgraph Pages[Key Pages]
|
||||
HomePage:::page
|
||||
BlogPage:::page
|
||||
ArticleDetailPage:::page
|
||||
ActivityDetailPage:::page
|
||||
MatchDetailPage:::page
|
||||
ClubPage:::page
|
||||
AboutPage:::page
|
||||
CalendarPage:::page
|
||||
ActivitiesCalendarPage:::page
|
||||
TablesPage:::page
|
||||
MatchesPage:::page
|
||||
PlayersPage:::page
|
||||
PlayerDetailPage:::page
|
||||
SponsorsPage:::page
|
||||
ContactPage:::page
|
||||
GalleryPage:::page
|
||||
AlbumDetailPage:::page
|
||||
VideosPage:::page
|
||||
SearchPage:::page
|
||||
ClothingPage:::page
|
||||
PollsPage:::page
|
||||
OverlayScoreboardPage:::page
|
||||
OverlaySponsorsPage:::page
|
||||
NotFoundPage:::page
|
||||
ForbiddenPage:::page
|
||||
SetupPage:::page
|
||||
StylePreviewPage:::page
|
||||
AuthPage:::page
|
||||
RegisterPage:::page
|
||||
ForgotPasswordPage:::page
|
||||
ResetPasswordPage:::page
|
||||
NewsletterUnsubscribePage:::page
|
||||
NewsletterPreferencesPage:::page
|
||||
SemiAdminPage:::page
|
||||
ShortRedirectPage:::page
|
||||
PremiumHomePage:::page
|
||||
PremiumBlogPage:::page
|
||||
end
|
||||
|
||||
PublicRoutes --> Pages
|
||||
AdminRoutes --> AdminContent
|
||||
|
||||
subgraph AdminPages[Admin Management]
|
||||
AdminDashboardPage:::page
|
||||
AdminDocsPage:::page
|
||||
AboutAdminPage:::page
|
||||
AdminVideosPage:::page
|
||||
GalleryAdminPage:::page
|
||||
AdminMerchPage:::page
|
||||
SponsorsAdminPage:::page
|
||||
MatchesAdminPage:::page
|
||||
PlayersAdminPage:::page
|
||||
TeamsAdminPage:::page
|
||||
UsersAdminPage:::page
|
||||
BannersAdminPage:::page
|
||||
MessagesAdminPage:::page
|
||||
SettingsAdminPage:::page
|
||||
NewsletterAdminPage:::page
|
||||
PollsAdminPage:::page
|
||||
CompetitionAliasesAdminPage:::page
|
||||
PrefetchAdminPage:::page
|
||||
AdminResetPasswordPage:::page
|
||||
ScoreboardAdminPage:::page
|
||||
MobileScoreboardControlPage:::page
|
||||
AnalyticsAdminPage:::page
|
||||
ErrorsAdminPage:::page
|
||||
FilesAdminPage:::page
|
||||
ContactsAdminPage:::page
|
||||
NavigationAdminPage:::page
|
||||
CommentsAdminPage:::page
|
||||
ShortlinksAdminPage:::page
|
||||
EngagementAdminPage:::page
|
||||
SweepstakesAdminPage:::page
|
||||
SweepstakeVisualPage:::page
|
||||
end
|
||||
|
||||
AdminContent --> AdminPages
|
||||
|
||||
%% Components (subset)
|
||||
subgraph Components
|
||||
MainLayout[components/layout/MainLayout]:::comp
|
||||
ProtectedRoute:::comp
|
||||
CookieBanner:::comp
|
||||
DefaultSEO[components/seo/DefaultSEO]:::comp
|
||||
TeamLogo[components/common/TeamLogo]:::comp
|
||||
ClubHeroTopbar[components/home/ClubHeroTopbar]:::comp
|
||||
BannerDisplay[components/banners/BannerDisplay]:::comp
|
||||
BlogCardsScroller[components/home/BlogCardsScroller]:::comp
|
||||
BlogSwiper[components/home/BlogSwiper]:::comp
|
||||
VideosSection[components/home/VideosSection]:::comp
|
||||
MerchSection[components/home/MerchSection]:::comp
|
||||
PollsWidget[components/home/PollsWidget]:::comp
|
||||
GallerySection[components/home/GallerySection]:::comp
|
||||
NewsletterSubscribe[components/newsletter/NewsletterSubscribe]:::comp
|
||||
MyUIbrixEditor[components/editor/MyUIbrixEditor]:::comp
|
||||
MyUIbrixErrorBoundary[components/editor/MyUIbrixErrorBoundary]:::comp
|
||||
ClubModal[components/home/ClubModal]:::comp
|
||||
MatchModal[components/home/MatchModal]:::comp
|
||||
NewsList[components/pack/NewsList]:::comp
|
||||
StandingsCard[components/pack/StandingsCard]:::comp
|
||||
NextMatch[components/pack/NextMatch]:::comp
|
||||
MatchesSlider[components/pack/MatchesSlider]:::comp
|
||||
ActivitiesList[components/pack/ActivitiesList]:::comp
|
||||
SweepstakeWidget[components/sweepstakes/SweepstakeWidget]:::comp
|
||||
end
|
||||
|
||||
HomePage --> MainLayout
|
||||
HomePage --> ClubHeroTopbar
|
||||
HomePage --> BannerDisplay
|
||||
HomePage --> BlogCardsScroller
|
||||
HomePage --> BlogSwiper
|
||||
HomePage --> VideosSection
|
||||
HomePage --> MerchSection
|
||||
HomePage --> PollsWidget
|
||||
HomePage --> GallerySection
|
||||
HomePage --> NewsletterSubscribe
|
||||
HomePage --> NewsList
|
||||
HomePage --> StandingsCard
|
||||
HomePage --> NextMatch
|
||||
HomePage --> MatchesSlider
|
||||
HomePage --> ActivitiesList
|
||||
HomePage --> SweepstakeWidget
|
||||
HomePage --> ClubModal
|
||||
HomePage --> MatchModal
|
||||
TeamLogo -. logos .- HomePage
|
||||
|
||||
%% Contexts & Hooks
|
||||
subgraph Contexts
|
||||
AuthContext[contexts/AuthContext]:::ctx
|
||||
ClubThemeContext[contexts/ClubThemeContext]:::ctx
|
||||
end
|
||||
|
||||
subgraph Hooks
|
||||
usePublicSettings[hooks/usePublicSettings]:::hook
|
||||
usePageElementConfig[hooks/usePageElementConfig]:::hook
|
||||
useUmami[hooks/useUmami]:::hook
|
||||
useFontLoader[hooks/useFontLoader]:::hook
|
||||
end
|
||||
|
||||
AuthProv --> AuthContext
|
||||
ClubThemeProv --> ClubThemeContext
|
||||
Pages --> AuthContext
|
||||
Pages --> ClubThemeContext
|
||||
Pages --> Hooks
|
||||
|
||||
%% Services & Data
|
||||
subgraph Services
|
||||
settingsSvc[services/settings.ts]:::svc
|
||||
pageElementsSvc[services/pageElements.ts]:::svc
|
||||
articlesSvc[services/articles.ts]:::svc
|
||||
playersSvc[services/players.ts]:::svc
|
||||
sponsorsSvc[services/sponsors.ts]:::svc
|
||||
bannersSvc[services/banners.ts]:::svc
|
||||
compAliasesSvc[services/competitionAliases.ts]:::svc
|
||||
eventsSvc[services/eventService.ts]:::svc
|
||||
facrApi[services/facr/facrApi.ts]:::svc
|
||||
setupSvc[services/setup.ts]:::svc
|
||||
engagementSvc[services/engagement.ts]:::svc
|
||||
actionLogSvc[services/actionLog.ts]:::svc
|
||||
errorReporter[services/errorReporter.ts]:::svc
|
||||
apiCore[services/api.ts - API_URL]:::svc
|
||||
end
|
||||
|
||||
Components --> Services
|
||||
Pages --> Services
|
||||
Hooks --> Services
|
||||
|
||||
subgraph Backends
|
||||
Backend[(fotbal-club backend API)]:::infra
|
||||
ErrorIngest[(errors.tdvorak.dev)]:::infra
|
||||
FACR[(FACR APIs)]:::infra
|
||||
end
|
||||
|
||||
Services --> Backend
|
||||
errorReporter --> ErrorIngest
|
||||
facrApi --> FACR
|
||||
apiCore --> Backend
|
||||
|
||||
ServiceWorker -.->|PWA| Browser
|
||||
Reference in New Issue
Block a user