# niravrvaghasiya/claude-certified-architect architecture

> Architecture diagram of the GitHub repository niravrvaghasiya/claude-certified-architect, 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/niravrvaghasiya/claude-certified-architect
- Repository: https://github.com/niravrvaghasiya/claude-certified-architect

## Overview

This is a static CCAR exam study site. Readers browse the dashboard by track and domain, open prerendered chapters, navigate and follow reading progress, or search across the guide. Chapter reading includes a scroll-aware table of contents, related chapters, and enhanced code blocks; progress stays in browser storage. The README documents these capabilities, while the supplied source excerpts only verify parts of search, dashboard, and presentation behavior, so uncertain component wiring is omitted.

Main entry points: [`app/chapters/[slug]/page.tsx`](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/chapters/%5Bslug%5D/page.tsx) (Chapter page), [`app/page.tsx`](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/page.tsx) (Study dashboard), [`lib/progress.tsx`](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/progress.tsx) (Progress state), [`lib/content.ts`](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/content.ts) (Content manifest)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browse["Browse and Read"]
  node_dashboard["Study dashboard<br/>[page.tsx]"]
  node_content["Content manifest<br/>[content.ts]"]
  node_track_pages["Track pages<br/>[page.tsx]"]
  node_domain_pages["Domain pages<br/>[page.tsx]"]
  node_chapter_page["Chapter page<br/>[page.tsx]"]
  node_chapter_body["Chapter content<br/>[chapter-body.tsx]"]
  node_chapter_navigation["Chapter navigation"]
  node_chapter_toc["Chapter contents<br/>[chapter-toc.tsx]"]
  node_related["Related chapters"]
end

subgraph group_search["Search"]
  node_search_palette["Search palette<br/>[search-command.tsx]"]
  node_search_page["Search page<br/>[page.tsx]"]
  node_search_logic["Fuzzy search<br/>[search.ts]"]
  node_search_results["Search result rows"]
  node_search_index["Static search index"]
end

subgraph group_progress["Study Progress"]
  node_progress_state["Progress state<br/>[progress.tsx]"]
  node_progress_store[("Browser storage")]
  node_visit_tracker["Visit tracking<br/>[visit-tracker.tsx]"]
  node_dashboard_metrics["Progress metrics"]
end

subgraph group_presentation["Reader Presentation"]
  node_reader_toc["Scroll tracking<br/>[chapter-toc.tsx]"]
  node_code_block["Code blocks<br/>[code-block.tsx]"]
  node_highlight["Syntax highlighting<br/>[highlight.ts]"]
  node_theme["Theme provider<br/>[theme-provider.tsx]"]
end

node_reader(("Study reader"))

node_reader -->|"opens"| node_dashboard
node_dashboard -->|"reads manifest"| node_content
node_dashboard -->|"selects track"| node_track_pages
node_track_pages -->|"reads groups"| node_content
node_track_pages -->|"opens domain"| node_domain_pages
node_domain_pages -->|"reads chapters"| node_content
node_domain_pages -->|"opens chapter"| node_chapter_page
node_chapter_page -->|"loads chapter"| node_content
node_chapter_page -->|"renders"| node_chapter_body
node_chapter_page -->|"provides navigation"| node_chapter_navigation
node_chapter_page -->|"provides sections"| node_chapter_toc
node_chapter_page -->|"provides recommendations"| node_related
node_chapter_body -->|"enhances code"| node_code_block
node_code_block -->|"highlights"| node_highlight
node_reader -->|"opens"| node_search_palette
node_reader -->|"opens"| node_search_page
node_search_palette -->|"searches"| node_search_logic
node_search_page -->|"searches"| node_search_logic
node_search_logic -->|"fetches index"| node_search_index
node_search_palette -->|"renders hits"| node_search_results
node_search_page -->|"renders hits"| node_search_results
node_search_results -->|"checks completion"| node_progress_state
node_reader -->|"reads"| node_chapter_page
node_chapter_page -->|"records visit"| node_visit_tracker
node_visit_tracker -->|"updates"| node_progress_state
node_progress_state -->|"reads and writes"| node_progress_store
node_dashboard -->|"shows metrics"| node_dashboard_metrics
node_dashboard_metrics -->|"reads progress"| node_progress_state
node_chapter_page -->|"tracks scroll"| node_reader_toc
node_reader -->|"chooses theme"| node_theme

click node_dashboard "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/page.tsx"
click node_content "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/content.ts"
click node_track_pages "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/tracks/%5Btrack%5D/page.tsx"
click node_domain_pages "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/tracks/%5Btrack%5D/%5Bdomain%5D/page.tsx"
click node_chapter_page "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/chapters/%5Bslug%5D/page.tsx"
click node_chapter_body "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-body.tsx"
click node_chapter_navigation "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/navigation/chapter-navigation.tsx"
click node_chapter_toc "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-toc.tsx"
click node_related "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/related-chapters.tsx"
click node_search_palette "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/search/search-command.tsx"
click node_search_page "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/search/page.tsx"
click node_search_logic "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/search.ts"
click node_search_results "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/search/search-result-row.tsx"
click node_progress_state "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/progress.tsx"
click node_visit_tracker "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/visit-tracker.tsx"
click node_dashboard_metrics "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/dashboard/dashboard-metrics.tsx"
click node_reader_toc "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-toc.tsx"
click node_code_block "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/code/code-block.tsx"
click node_highlight "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/highlight.ts"
click node_theme "https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/theme-provider.tsx"

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_dashboard,node_content,node_track_pages,node_domain_pages,node_chapter_page,node_chapter_body,node_chapter_navigation,node_chapter_toc,node_related toneBlue
class node_search_palette,node_search_page,node_search_logic,node_search_results,node_search_index toneAmber
class node_progress_state,node_progress_store,node_visit_tracker,node_dashboard_metrics toneMint
class node_reader_toc,node_code_block,node_highlight,node_theme toneRose
class node_reader toneIndigo
```

## Components

### Browse and Read

- [Study dashboard](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/page.tsx): `app/page.tsx`
- [Content manifest](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/content.ts): `lib/content.ts`
- [Track pages](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/tracks/%5Btrack%5D/page.tsx): `app/tracks/[track]/page.tsx`
- [Domain pages](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/tracks/%5Btrack%5D/%5Bdomain%5D/page.tsx): `app/tracks/[track]/[domain]/page.tsx`
- [Chapter page](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/chapters/%5Bslug%5D/page.tsx): `app/chapters/[slug]/page.tsx`
- [Chapter content](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-body.tsx): `components/chapter/chapter-body.tsx`
- [Chapter navigation](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/navigation/chapter-navigation.tsx): `components/navigation/chapter-navigation.tsx`
- [Chapter contents](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-toc.tsx): `components/chapter/chapter-toc.tsx`
- [Related chapters](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/related-chapters.tsx): `components/chapter/related-chapters.tsx`

### Search

- [Search palette](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/search/search-command.tsx): `components/search/search-command.tsx`
- [Search page](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/app/search/page.tsx): `app/search/page.tsx`
- [Fuzzy search](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/search.ts): `lib/search.ts`
- [Search result rows](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/search/search-result-row.tsx): `components/search/search-result-row.tsx`
- **Static search index**

### Study Progress

- [Progress state](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/progress.tsx): `lib/progress.tsx`
- **Browser storage**
- [Visit tracking](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/visit-tracker.tsx): `components/chapter/visit-tracker.tsx`
- [Progress metrics](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/dashboard/dashboard-metrics.tsx): `components/dashboard/dashboard-metrics.tsx`

### Reader Presentation

- [Scroll tracking](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/chapter/chapter-toc.tsx): `components/chapter/chapter-toc.tsx`
- [Code blocks](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/code/code-block.tsx): `components/code/code-block.tsx`
- [Syntax highlighting](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/lib/highlight.ts): `lib/highlight.ts`
- [Theme provider](https://github.com/niravrvaghasiya/claude-certified-architect/blob/main/components/theme-provider.tsx): `components/theme-provider.tsx`

### Other components

- **Study reader**

## Connections

- Study reader → Study dashboard: opens
- Study dashboard → Content manifest: reads manifest
- Study dashboard → Track pages: selects track
- Track pages → Content manifest: reads groups
- Track pages → Domain pages: opens domain
- Domain pages → Content manifest: reads chapters
- Domain pages → Chapter page: opens chapter
- Chapter page → Content manifest: loads chapter
- Chapter page → Chapter content: renders
- Chapter page → Chapter navigation: provides navigation
- Chapter page → Chapter contents: provides sections
- Chapter page → Related chapters: provides recommendations
- Chapter content → Code blocks: enhances code
- Code blocks → Syntax highlighting: highlights
- Study reader → Search palette: opens
- Study reader → Search page: opens
- Search palette → Fuzzy search: searches
- Search page → Fuzzy search: searches
- Fuzzy search → Static search index: fetches index
- Search palette → Search result rows: renders hits
- Search page → Search result rows: renders hits
- Search result rows → Progress state: checks completion
- Study reader → Chapter page: reads
- Chapter page → Visit tracking: records visit
- Visit tracking → Progress state: updates
- Progress state → Browser storage: reads and writes
- Study dashboard → Progress metrics: shows metrics
- Progress metrics → Progress state: reads progress
- Chapter page → Scroll tracking: tracks scroll
- Study reader → Theme provider: chooses theme
