# kantrun/quanlychuyenmon architecture

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

- Interactive diagram: https://gitdiagram.com/kantrun/quanlychuyenmon
- Repository: https://github.com/kantrun/quanlychuyenmon

## Overview

This is a .NET 9 Blazor telemedicine landing page, not a clinical workflow system: visitors view teleconsultation, specialist-directory, health-tracking, trust, and app-download content, then follow configured calls to action. The request path is hosted by ASP.NET Core and rendered through Blazor routes and page components; landing content is supplied by a singleton service using in-memory examples. The README explicitly excludes patient-data storage, a database, CMS, API, and real appointment booking. Component wiring beyond the sampled host and service is inferred from the tree and product description.

Main entry points: [`src/telemedicine-landing-page/Components/Pages/Home.razor`](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Home.razor) (Landing page), [`src/telemedicine-landing-page/Program.cs`](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Program.cs) (ASP.NET host), [`src/telemedicine-landing-page/Components/Routes.razor`](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Routes.razor) (Page routes), [`src/telemedicine-landing-page/Components/App.razor`](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/App.razor) (Blazor app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web entry and routes"]
  node_host["ASP.NET host<br/>[Program.cs]"]
  node_app["Blazor app<br/>[App.razor]"]
  node_routes["Page routes<br/>[Routes.razor]"]
  node_layout["Main layout<br/>[MainLayout.razor]"]
  node_login["Login page<br/>[Login.razor]"]
  node_register["Registration page<br/>[Register.razor]"]
end

subgraph group_landing["Landing experience"]
  node_home["Landing page<br/>[Home.razor]"]
  node_hero["Hero and CTA<br/>[HeroSection.razor]"]
  node_video["Video consultation"]
  node_directory["Specialist directory"]
  node_tracking["Health tracking"]
  node_features["Creative features"]
  node_trust["Trust signals"]
  node_download["App downloads"]
  node_footer["Footer links"]
end

subgraph group_content["Content and configuration"]
  node_service["Landing content service"]
  node_models["Content models"]
  node_links["CTA link options"]
  node_settings["Application settings<br/>[appsettings.json]"]
end

subgraph group_interaction["Browser interactions"]
  node_browser["Browser motion<br/>[animations.js]"]
end

node_visitor(("Visitor"))
node_appstores(("App stores"))

node_visitor -->|"requests page"| node_host
node_host -->|"maps components"| node_app
node_app -->|"renders routes"| node_routes
node_routes -->|"selects page"| node_home
node_routes -->|"selects page"| node_login
node_routes -->|"selects page"| node_register
node_home -->|"uses layout"| node_layout
node_home -->|"renders section"| node_hero
node_home -->|"renders section"| node_video
node_home -->|"renders section"| node_directory
node_home -->|"renders section"| node_tracking
node_home -->|"renders section"| node_features
node_home -->|"renders section"| node_trust
node_home -->|"renders section"| node_download
node_home -->|"renders section"| node_footer
node_host -->|"registers service"| node_service
node_service -->|"returns content"| node_models
node_host -->|"binds options"| node_links
node_settings -->|"provides configuration"| node_host
node_browser -->|"animates page"| node_visitor
node_download -.->|"links to stores"| node_appstores

click node_host "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Program.cs"
click node_app "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/App.razor"
click node_routes "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Routes.razor"
click node_layout "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Layout/MainLayout.razor"
click node_home "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Home.razor"
click node_hero "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/HeroSection.razor"
click node_video "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/VideoConsultationSection.razor"
click node_directory "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/SpecialistDirectorySection.razor"
click node_tracking "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/HealthTrackingSection.razor"
click node_features "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/CreativeFeaturesSection.razor"
click node_trust "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/TrustRailSection.razor"
click node_download "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/AppDownloadSection.razor"
click node_footer "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/FooterSection.razor"
click node_login "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Login.razor"
click node_register "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Register.razor"
click node_service "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Services/LandingPageContentService.cs"
click node_models "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Models/LandingPageContentModels.cs"
click node_links "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Models/LandingPageLinksOptions.cs"
click node_settings "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/appsettings.json"
click node_browser "https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/wwwroot/js/animations.js"

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_host,node_app,node_routes,node_layout,node_login,node_register toneBlue
class node_home,node_hero,node_video,node_directory,node_tracking,node_features,node_trust,node_download,node_footer toneAmber
class node_service,node_models,node_links,node_settings toneMint
class node_browser toneRose
class node_visitor,node_appstores toneIndigo
```

## Components

### Web entry and routes

- [ASP.NET host](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Program.cs): `src/telemedicine-landing-page/Program.cs`
- [Blazor app](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/App.razor): `src/telemedicine-landing-page/Components/App.razor`
- [Page routes](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Routes.razor): `src/telemedicine-landing-page/Components/Routes.razor`
- [Main layout](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Layout/MainLayout.razor): `src/telemedicine-landing-page/Components/Layout/MainLayout.razor`
- [Login page](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Login.razor): `src/telemedicine-landing-page/Components/Pages/Login.razor`
- [Registration page](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Register.razor): `src/telemedicine-landing-page/Components/Pages/Register.razor`

### Landing experience

- [Landing page](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Pages/Home.razor): `src/telemedicine-landing-page/Components/Pages/Home.razor`
- [Hero and CTA](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/HeroSection.razor): `src/telemedicine-landing-page/Components/Sections/HeroSection.razor`
- [Video consultation](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/VideoConsultationSection.razor): `src/telemedicine-landing-page/Components/Sections/VideoConsultationSection.razor`
- [Specialist directory](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/SpecialistDirectorySection.razor): `src/telemedicine-landing-page/Components/Sections/SpecialistDirectorySection.razor`
- [Health tracking](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/HealthTrackingSection.razor): `src/telemedicine-landing-page/Components/Sections/HealthTrackingSection.razor`
- [Creative features](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/CreativeFeaturesSection.razor): `src/telemedicine-landing-page/Components/Sections/CreativeFeaturesSection.razor`
- [Trust signals](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/TrustRailSection.razor): `src/telemedicine-landing-page/Components/Sections/TrustRailSection.razor`
- [App downloads](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/AppDownloadSection.razor): `src/telemedicine-landing-page/Components/Sections/AppDownloadSection.razor`
- [Footer links](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Components/Sections/FooterSection.razor): `src/telemedicine-landing-page/Components/Sections/FooterSection.razor`

### Content and configuration

- [Landing content service](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Services/LandingPageContentService.cs): `src/telemedicine-landing-page/Services/LandingPageContentService.cs`
- [Content models](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Models/LandingPageContentModels.cs): `src/telemedicine-landing-page/Models/LandingPageContentModels.cs`
- [CTA link options](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/Models/LandingPageLinksOptions.cs): `src/telemedicine-landing-page/Models/LandingPageLinksOptions.cs`
- [Application settings](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/appsettings.json): `src/telemedicine-landing-page/appsettings.json`

### Browser interactions

- [Browser motion](https://github.com/kantrun/quanlychuyenmon/blob/main/src/telemedicine-landing-page/wwwroot/js/animations.js): `src/telemedicine-landing-page/wwwroot/js/animations.js`

### Other components

- **Visitor**
- **App stores**

## Connections

- Visitor → ASP.NET host: requests page
- ASP.NET host → Blazor app: maps components
- Blazor app → Page routes: renders routes
- Page routes → Landing page: selects page
- Page routes → Login page: selects page
- Page routes → Registration page: selects page
- Landing page → Main layout: uses layout
- Landing page → Hero and CTA: renders section
- Landing page → Video consultation: renders section
- Landing page → Specialist directory: renders section
- Landing page → Health tracking: renders section
- Landing page → Creative features: renders section
- Landing page → Trust signals: renders section
- Landing page → App downloads: renders section
- Landing page → Footer links: renders section
- ASP.NET host → Landing content service: registers service
- Landing content service → Content models: returns content
- ASP.NET host → CTA link options: binds options
- Application settings → ASP.NET host: provides configuration
- Browser motion → Visitor: animates page
- App downloads → App stores: links to stores
