# harshavardhan1234-cmd/centralized-hub- architecture

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

- Interactive diagram: https://gitdiagram.com/harshavardhan1234-cmd/centralized-hub-
- Repository: https://github.com/harshavardhan1234-cmd/centralized-hub-

## Overview

Org Knowledge Hub is a demo enterprise knowledge-sharing application: employees search and read technical solutions, submit knowledge, and connect with experts; administrators govern solutions, users, taxonomy, and policy. The sampled code supports the search-to-ranking flow, client state providers, connection handling, and Gemini-backed API operations. Upload, analytics, and several administration screens are clear product areas from the tree, but their internal wiring was not sampled, so their connections are kept at the app-entry level where supported.

Main entry points: [`src/App.tsx`](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/App.tsx) (App Routing), [`src/pages/SearchPage.tsx`](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/SearchPage.tsx) (Solution Search), [`src/context/KnowledgeContext.tsx`](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/KnowledgeContext.tsx) (Knowledge State), [`src/context/ConnectionContext.tsx`](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/ConnectionContext.tsx) (Connection State)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application"]
  node_app["App Routing<br/>[App.tsx]"]
  node_auth["Authentication State<br/>[AuthContext.tsx]"]
  node_knowledge_state["Knowledge State"]
end

subgraph group_knowledge["Knowledge Discovery"]
  node_search_page["Solution Search<br/>[SearchPage.tsx]"]
  node_search_bar["Search Input<br/>[SearchBar.tsx]"]
  node_search_filters["Search Filters<br/>[SearchFilters.tsx]"]
  node_solution_card["Solution Results<br/>[SolutionCard.tsx]"]
  node_solution_detail["Solution Details"]
  node_document_viewer["Document Viewer<br/>[DocumentViewer.tsx]"]
  node_upload["Solution Submission"]
  node_catalog["Solution Catalog<br/>[solutions.ts]"]
  node_taxonomy_data["Categories And Projects<br/>[categories.ts]"]
end

subgraph group_community["People And Connections"]
  node_connection_state["Connection State"]
  node_experts["Expert Directory<br/>[ExpertsPage.tsx]"]
  node_connection_pages["Connection Screens"]
  node_notifications["Notifications"]
end

subgraph group_governance["Administration And Governance"]
  node_admin["Admin Screens"]
  node_admin_solutions["Solution Governance"]
  node_admin_iam["Identity Management<br/>[AdminIAMPage.tsx]"]
  node_admin_taxonomy["Taxonomy Management"]
  node_admin_audit["Audit And Policy<br/>[AdminAuditPage.tsx]"]
  node_analytics["Usage Analytics<br/>[AnalyticsPage.tsx]"]
end

subgraph group_ai["AI Services"]
  node_gemini_client["AI Request Client<br/>[geminiService.ts]"]
  node_api_server["API Server<br/>[server.ts]"]
end

node_employee(("Employee"))
node_gemini(("Google Gemini"))

node_employee -->|"uses"| node_app
node_app -->|"provides auth"| node_auth
node_app -->|"provides knowledge"| node_knowledge_state
node_app -->|"provides connections"| node_connection_state
node_app -->|"routes to"| node_search_page
node_app -->|"routes to"| node_upload
node_app -->|"routes to"| node_solution_detail
node_app -->|"routes to"| node_experts
node_app -->|"routes to"| node_connection_pages
node_app -->|"routes to"| node_notifications
node_app -->|"routes to"| node_admin
node_app -->|"routes to"| node_admin_solutions
node_app -->|"routes to"| node_admin_iam
node_app -->|"routes to"| node_admin_taxonomy
node_app -->|"routes to"| node_admin_audit
node_app -->|"routes to"| node_analytics
node_search_page -->|"renders"| node_search_bar
node_search_page -->|"renders"| node_search_filters
node_search_page -->|"renders"| node_solution_card
node_search_page -->|"reads solutions"| node_knowledge_state
node_search_page -->|"requests ranking"| node_gemini_client
node_search_filters -->|"reads taxonomy"| node_knowledge_state
node_solution_detail -->|"renders document"| node_document_viewer
node_knowledge_state -->|"initializes from"| node_catalog
node_connection_state -->|"reads user"| node_auth
node_connection_state -->|"looks up solutions"| node_catalog
node_gemini_client -->|"posts requests"| node_api_server
node_api_server -.->|"generates AI results"| node_gemini

click node_app "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/App.tsx"
click node_auth "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/AuthContext.tsx"
click node_knowledge_state "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/KnowledgeContext.tsx"
click node_connection_state "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/ConnectionContext.tsx"
click node_search_page "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/SearchPage.tsx"
click node_search_bar "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SearchBar.tsx"
click node_search_filters "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SearchFilters.tsx"
click node_solution_card "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SolutionCard.tsx"
click node_solution_detail "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/SolutionDetailPage.tsx"
click node_document_viewer "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/solution/DocumentViewer.tsx"
click node_upload "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/UploadSolutionPage.tsx"
click node_catalog "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/data/solutions.ts"
click node_taxonomy_data "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/data/categories.ts"
click node_experts "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/ExpertsPage.tsx"
click node_connection_pages "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/MyConnectionsPage.tsx"
click node_notifications "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/NotificationsPage.tsx"
click node_admin "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminOverviewPage.tsx"
click node_admin_solutions "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminSolutionsPage.tsx"
click node_admin_iam "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminIAMPage.tsx"
click node_admin_taxonomy "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminTaxonomyPage.tsx"
click node_admin_audit "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminAuditPage.tsx"
click node_analytics "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/AnalyticsPage.tsx"
click node_gemini_client "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/services/geminiService.ts"
click node_api_server "https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/server.ts"

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_app,node_auth,node_knowledge_state toneBlue
class node_search_page,node_search_bar,node_search_filters,node_solution_card,node_solution_detail,node_document_viewer,node_upload,node_catalog,node_taxonomy_data toneAmber
class node_connection_state,node_experts,node_connection_pages,node_notifications toneMint
class node_admin,node_admin_solutions,node_admin_iam,node_admin_taxonomy,node_admin_audit,node_analytics toneRose
class node_gemini_client,node_api_server,node_employee,node_gemini toneIndigo
```

## Components

### Application

- [App Routing](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/App.tsx): `src/App.tsx`
- [Authentication State](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/AuthContext.tsx): `src/context/AuthContext.tsx`
- [Knowledge State](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/KnowledgeContext.tsx): `src/context/KnowledgeContext.tsx`

### Knowledge Discovery

- [Solution Search](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/SearchPage.tsx): `src/pages/SearchPage.tsx`
- [Search Input](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SearchBar.tsx): `src/components/search/SearchBar.tsx`
- [Search Filters](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SearchFilters.tsx): `src/components/search/SearchFilters.tsx`
- [Solution Results](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/search/SolutionCard.tsx): `src/components/search/SolutionCard.tsx`
- [Solution Details](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/SolutionDetailPage.tsx): `src/pages/SolutionDetailPage.tsx`
- [Document Viewer](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/components/solution/DocumentViewer.tsx): `src/components/solution/DocumentViewer.tsx`
- [Solution Submission](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/UploadSolutionPage.tsx): `src/pages/UploadSolutionPage.tsx`
- [Solution Catalog](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/data/solutions.ts): `src/data/solutions.ts`
- [Categories And Projects](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/data/categories.ts): `src/data/categories.ts`

### People And Connections

- [Connection State](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/context/ConnectionContext.tsx): `src/context/ConnectionContext.tsx`
- [Expert Directory](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/ExpertsPage.tsx): `src/pages/ExpertsPage.tsx`
- [Connection Screens](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/MyConnectionsPage.tsx): `src/pages/MyConnectionsPage.tsx`
- [Notifications](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/NotificationsPage.tsx): `src/pages/NotificationsPage.tsx`

### Administration And Governance

- [Admin Screens](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminOverviewPage.tsx): `src/pages/admin/AdminOverviewPage.tsx`
- [Solution Governance](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminSolutionsPage.tsx): `src/pages/admin/AdminSolutionsPage.tsx`
- [Identity Management](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminIAMPage.tsx): `src/pages/admin/AdminIAMPage.tsx`
- [Taxonomy Management](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminTaxonomyPage.tsx): `src/pages/admin/AdminTaxonomyPage.tsx`
- [Audit And Policy](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/admin/AdminAuditPage.tsx): `src/pages/admin/AdminAuditPage.tsx`
- [Usage Analytics](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/pages/AnalyticsPage.tsx): `src/pages/AnalyticsPage.tsx`

### AI Services

- [AI Request Client](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/src/services/geminiService.ts): `src/services/geminiService.ts`
- [API Server](https://github.com/harshavardhan1234-cmd/centralized-hub-/blob/main/server.ts): `server.ts`

### Other components

- **Employee**
- **Google Gemini**

## Connections

- Employee → App Routing: uses
- App Routing → Authentication State: provides auth
- App Routing → Knowledge State: provides knowledge
- App Routing → Connection State: provides connections
- App Routing → Solution Search: routes to
- App Routing → Solution Submission: routes to
- App Routing → Solution Details: routes to
- App Routing → Expert Directory: routes to
- App Routing → Connection Screens: routes to
- App Routing → Notifications: routes to
- App Routing → Admin Screens: routes to
- App Routing → Solution Governance: routes to
- App Routing → Identity Management: routes to
- App Routing → Taxonomy Management: routes to
- App Routing → Audit And Policy: routes to
- App Routing → Usage Analytics: routes to
- Solution Search → Search Input: renders
- Solution Search → Search Filters: renders
- Solution Search → Solution Results: renders
- Solution Search → Knowledge State: reads solutions
- Solution Search → AI Request Client: requests ranking
- Search Filters → Knowledge State: reads taxonomy
- Solution Details → Document Viewer: renders document
- Knowledge State → Solution Catalog: initializes from
- Connection State → Authentication State: reads user
- Connection State → Solution Catalog: looks up solutions
- AI Request Client → API Server: posts requests
- API Server → Google Gemini: generates AI results
