# meszikristof/kolumbia17 architecture

> Architecture diagram of the GitHub repository meszikristof/kolumbia17, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/meszikristof/kolumbia17
- Repository: https://github.com/meszikristof/kolumbia17

## Overview

Kolumbia Sport Klub’s repository is an Astro static website with Git-backed content managed through Sveltia CMS. The main visitor workflow is to request a page, have Astro render it from typed content collections, and receive club news, results, event notices, documents, or gallery pages. The README also describes CMS editing through GitHub and OAuth, plus document previews. Route-level implementation was not sampled, so those links follow README descriptions; the sampled sources directly establish collection schemas and the Remark plugin registration.

Main entry points: [`src/content.config.ts`](https://github.com/meszikristof/kolumbia17/blob/develop/src/content.config.ts) (Collection schemas), [`src/pages/hirek`](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/hirek) (News pages), [`src/pages/eredmenyek`](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/eredmenyek) (Results pages), [`src/pages/versenykiiras`](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/versenykiiras) (Event notices)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_visitor["Visitor Website"]
  node_news_routes["News pages"]
  node_results_routes["Results pages"]
  node_events_routes["Event notices"]
  node_documents_route["Documents page<br/>[dokumentumok.astro]"]
  node_gallery_routes["Gallery pages"]
  node_club_pages["Club pages"]
end

subgraph group_content["Content Collections"]
  node_news_content["News content"]
  node_results_content["Results content"]
  node_events_content["Event content"]
  node_documents_content["Document content"]
  node_gallery_content["Gallery content"]
  node_page_content["Page settings"]
end

subgraph group_admin["CMS Editing"]
  node_cms_admin["CMS admin<br/>[config.yml]"]
  node_cms_editor["Sveltia CMS"]
  node_github[("GitHub repository")]
  node_oauth["OAuth proxy"]
end

subgraph group_rendering["Rendering Layer"]
  node_content_schema["Collection schemas<br/>[content.config.ts]"]
  node_doc_embed["Document embeds"]
  node_base_layout["Shared page layout<br/>[BaseLayout.astro]"]
end

node_visitor(("Site visitor"))
node_office_viewer["Office viewer"]

node_visitor -->|"requests"| node_news_routes
node_visitor -->|"requests"| node_results_routes
node_visitor -->|"requests"| node_events_routes
node_visitor -->|"requests"| node_documents_route
node_visitor -->|"requests"| node_gallery_routes
node_visitor -->|"requests"| node_club_pages
node_news_routes -.->|"renders"| node_news_content
node_results_routes -.->|"renders"| node_results_content
node_events_routes -.->|"renders"| node_events_content
node_documents_route -.->|"renders"| node_documents_content
node_gallery_routes -.->|"renders"| node_gallery_content
node_club_pages -.->|"renders"| node_page_content
node_content_schema -->|"validates"| node_news_content
node_content_schema -->|"validates"| node_results_content
node_content_schema -->|"validates"| node_events_content
node_content_schema -->|"validates"| node_documents_content
node_content_schema -->|"validates"| node_gallery_content
node_content_schema -->|"validates"| node_page_content
node_cms_admin -->|"configures"| node_cms_editor
node_cms_editor -->|"authenticates via"| node_oauth
node_oauth -->|"authorizes"| node_github
node_cms_editor -->|"commits content"| node_github
node_doc_embed -->|"embeds previews"| node_office_viewer

click node_news_routes "https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/hirek"
click node_results_routes "https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/eredmenyek"
click node_events_routes "https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/versenykiiras"
click node_documents_route "https://github.com/meszikristof/kolumbia17/blob/develop/src/pages/dokumentumok.astro"
click node_gallery_routes "https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/galleria"
click node_club_pages "https://github.com/meszikristof/kolumbia17/tree/develop/src/pages"
click node_news_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/hirek"
click node_results_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/eredmenyek"
click node_events_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/versenykiiras"
click node_documents_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/dokumentumok"
click node_gallery_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/galleria"
click node_page_content "https://github.com/meszikristof/kolumbia17/tree/develop/src/content/pages"
click node_content_schema "https://github.com/meszikristof/kolumbia17/blob/develop/src/content.config.ts"
click node_doc_embed "https://github.com/meszikristof/kolumbia17/blob/develop/src/utils/remark-document-embed.js"
click node_base_layout "https://github.com/meszikristof/kolumbia17/blob/develop/src/layouts/BaseLayout.astro"
click node_cms_admin "https://github.com/meszikristof/kolumbia17/blob/develop/public/admin/config.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_news_routes,node_results_routes,node_events_routes,node_documents_route,node_gallery_routes,node_club_pages,node_office_viewer toneBlue
class node_news_content,node_results_content,node_events_content,node_documents_content,node_gallery_content,node_page_content toneAmber
class node_cms_admin,node_cms_editor,node_github,node_oauth toneMint
class node_content_schema,node_doc_embed,node_base_layout toneRose
class node_visitor toneIndigo
```

## Components

### Visitor Website

- [News pages](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/hirek): `src/pages/hirek`
- [Results pages](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/eredmenyek): `src/pages/eredmenyek`
- [Event notices](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/versenykiiras): `src/pages/versenykiiras`
- [Documents page](https://github.com/meszikristof/kolumbia17/blob/develop/src/pages/dokumentumok.astro): `src/pages/dokumentumok.astro`
- [Gallery pages](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages/galleria): `src/pages/galleria`
- [Club pages](https://github.com/meszikristof/kolumbia17/tree/develop/src/pages): `src/pages`

### Content Collections

- [News content](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/hirek): `src/content/hirek`
- [Results content](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/eredmenyek): `src/content/eredmenyek`
- [Event content](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/versenykiiras): `src/content/versenykiiras`
- [Document content](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/dokumentumok): `src/content/dokumentumok`
- [Gallery content](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/galleria): `src/content/galleria`
- [Page settings](https://github.com/meszikristof/kolumbia17/tree/develop/src/content/pages): `src/content/pages`

### CMS Editing

- [CMS admin](https://github.com/meszikristof/kolumbia17/blob/develop/public/admin/config.yml): `public/admin/config.yml`
- **Sveltia CMS**
- **GitHub repository**
- **OAuth proxy**

### Rendering Layer

- [Collection schemas](https://github.com/meszikristof/kolumbia17/blob/develop/src/content.config.ts): `src/content.config.ts`
- [Document embeds](https://github.com/meszikristof/kolumbia17/blob/develop/src/utils/remark-document-embed.js): `src/utils/remark-document-embed.js`
- [Shared page layout](https://github.com/meszikristof/kolumbia17/blob/develop/src/layouts/BaseLayout.astro): `src/layouts/BaseLayout.astro`

### Other components

- **Site visitor**
- **Office viewer**

## Connections

- Site visitor → News pages: requests (evidence: `README.md`)
- Site visitor → Results pages: requests (evidence: `README.md`)
- Site visitor → Event notices: requests (evidence: `README.md`)
- Site visitor → Documents page: requests (evidence: `README.md`)
- Site visitor → Gallery pages: requests (evidence: `README.md`)
- Site visitor → Club pages: requests (evidence: `README.md`)
- News pages → News content: renders
- Results pages → Results content: renders
- Event notices → Event content: renders
- Documents page → Document content: renders
- Gallery pages → Gallery content: renders
- Club pages → Page settings: renders
- Collection schemas → News content: validates (evidence: `src/content.config.ts`)
- Collection schemas → Results content: validates (evidence: `src/content.config.ts`)
- Collection schemas → Event content: validates (evidence: `src/content.config.ts`)
- Collection schemas → Document content: validates (evidence: `src/content.config.ts`)
- Collection schemas → Gallery content: validates (evidence: `src/content.config.ts`)
- Collection schemas → Page settings: validates (evidence: `src/content.config.ts`)
- CMS admin → Sveltia CMS: configures (evidence: `README.md`)
- Sveltia CMS → OAuth proxy: authenticates via (evidence: `README.md`)
- OAuth proxy → GitHub repository: authorizes (evidence: `README.md`)
- Sveltia CMS → GitHub repository: commits content (evidence: `README.md`)
- Document embeds → Office viewer: embeds previews (evidence: `src/utils/remark-document-embed.js`)
