# tijaarat-rabeha/claude-ai-learning architecture

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

- Interactive diagram: https://gitdiagram.com/tijaarat-rabeha/claude-ai-learning
- Repository: https://github.com/tijaarat-rabeha/claude-ai-learning

## Overview

Claude Days is a static-site knowledge atlas for daily learning PDFs. Visitors browse a course map or searchable library, open a PDF in the reader, navigate between days, and save read progress in their browser. The README documents these capabilities, but the browser source was not sampled, so the internal UI relationships and data wiring are not verified; the graph shows documented behavior without guessing those connections.

Main entry points: [`assets/js/app.js`](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js) (PDF reader), [`docs`](https://github.com/tijaarat-rabeha/claude-ai-learning/tree/main/docs) (Lesson PDFs), [`index.html`](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/index.html) (Static site)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Learning content"]
  node_pdfs["Lesson PDFs"]
  node_catalog["Course catalog<br/>[catalog.json]"]
  node_manifest["Content manifest<br/>[manifest.json]"]
  node_covers["Cover images"]
end

subgraph group_site["Static site"]
  node_site["Static site<br/>[index.html]"]
  node_app["Browser app<br/>[app.js]"]
end

subgraph group_experience["Reader experience"]
  node_coursemap["Course map<br/>[app.js]"]
  node_library["PDF library<br/>[app.js]"]
  node_search["Instant search<br/>[app.js]"]
  node_reader["PDF reader<br/>[app.js]"]
  node_navigation["Day navigation<br/>[app.js]"]
  node_shortcuts["Keyboard shortcuts<br/>[app.js]"]
end

subgraph group_state["Browser state"]
  node_progress[("Read progress<br/>[app.js]")]
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_site
node_visitor -->|"browses"| node_coursemap
node_visitor -->|"browses"| node_library
node_visitor -->|"searches"| node_search
node_visitor -->|"opens"| node_reader
node_visitor -->|"navigates"| node_navigation
node_visitor -->|"uses"| node_shortcuts
node_reader -->|"saves progress"| node_progress
node_pdfs -->|"viewed in"| node_reader

click node_pdfs "https://github.com/tijaarat-rabeha/claude-ai-learning/tree/main/docs"
click node_catalog "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/docs/catalog.json"
click node_manifest "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/manifest.json"
click node_covers "https://github.com/tijaarat-rabeha/claude-ai-learning/tree/main/assets/covers"
click node_site "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/index.html"
click node_app "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_coursemap "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_library "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_search "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_reader "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_navigation "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_shortcuts "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js"
click node_progress "https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.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_pdfs,node_catalog,node_manifest,node_covers toneBlue
class node_site,node_app toneAmber
class node_coursemap,node_library,node_search,node_reader,node_navigation,node_shortcuts toneMint
class node_progress toneRose
class node_visitor toneIndigo
```

## Components

### Learning content

- [Lesson PDFs](https://github.com/tijaarat-rabeha/claude-ai-learning/tree/main/docs): `docs`
- [Course catalog](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/docs/catalog.json): `docs/catalog.json`
- [Content manifest](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/manifest.json): `manifest.json`
- [Cover images](https://github.com/tijaarat-rabeha/claude-ai-learning/tree/main/assets/covers): `assets/covers`

### Static site

- [Static site](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/index.html): `index.html`
- [Browser app](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`

### Reader experience

- [Course map](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`
- [PDF library](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`
- [Instant search](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`
- [PDF reader](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`
- [Day navigation](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`
- [Keyboard shortcuts](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`

### Browser state

- [Read progress](https://github.com/tijaarat-rabeha/claude-ai-learning/blob/main/assets/js/app.js): `assets/js/app.js`

### Other components

- **Visitor**

## Connections

- Visitor → Static site: opens (evidence: `README.md`)
- Visitor → Course map: browses (evidence: `README.md`)
- Visitor → PDF library: browses (evidence: `README.md`)
- Visitor → Instant search: searches (evidence: `README.md`)
- Visitor → PDF reader: opens (evidence: `README.md`)
- Visitor → Day navigation: navigates (evidence: `README.md`)
- Visitor → Keyboard shortcuts: uses (evidence: `README.md`)
- PDF reader → Read progress: saves progress (evidence: `README.md`)
- Lesson PDFs → PDF reader: viewed in (evidence: `README.md`)
