# fatfara/dsa architecture

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

- Interactive diagram: https://gitdiagram.com/fatfara/dsa
- Repository: https://github.com/fatfara/dsa

## Overview

#### Purpose and entry points
This is a static educational frontend repository for algorithm and data-structure lessons. There is no README, backend, build system, package manifest, or service integration. The browser directly loads individual HTML pages.

Primary entry points:
- `index.html` — likely the landing/navigation page.
- `ArrayMasterclass.html` — array-focused lesson.
- `DataStructures_Intro_Animated.pptx` — standalone presentation asset, opened separately rather than served as application code.

#### Delivery model
Each `.html` file is an independently accessible browser document. The repository appears designed for direct file hosting or opening pages locally, with page-to-page navigation as the likely control flow.

Relevant paths:
- `index.html`
- `ArrayMasterclass.html`
- `kadane.html`

#### Algorithm lesson modules
Algorithm topics are split into separate pages rather than implemented as a shared application framework. This makes each lesson a functional/content boundary and allows isolated execution or presentation.

Lesson modules:
- Kadane’s algorithm: `kadane.html`
- Search algorithms: `searchalgorithem.html`
- Two-pointer techniques: `twopointer.html`

#### Data-structure curriculum content
The project includes introductory data-structure content in both HTML and presentation form. The presentation is a non-code curriculum artifact and may complement the browser lessons.

Relevant paths:
- `DataStructures_Intro_Animated.pptx`
- `ArrayMasterclass.html`
- `index.html`

#### Primary control and data flow
The expected flow is:
1. A learner opens `index.html` or an individual lesson URL.
2. Navigation links, if present in the HTML, transfer control to topic-specific pages.
3. Each page renders its own instructional content and any embedded client-side interaction directly in the browser.
4. The presentation file is consumed through office/presentation software, outside the HTML runtime.

There is no evidence of persistent storage, APIs, authentication, server-side processing, shared data models, or cross-page state.

#### Runtime and infrastructure boundaries
The material runtime is a web browser for HTML files and presentation software for the `.pptx` asset. Deployment can be simple static hosting because all identified executable/application files are HTML.

No external infrastructure, databases, cloud services, package dependencies, or backend entry points are represented in the repository tree.

Main entry points: [`index.html`](https://github.com/fatfara/dsa/blob/main/index.html) (Landing page), [`ArrayMasterclass.html`](https://github.com/fatfara/dsa/blob/main/ArrayMasterclass.html) (Array masterclass), [`kadane.html`](https://github.com/fatfara/dsa/blob/main/kadane.html) (Kadane lesson), [`searchalgorithem.html`](https://github.com/fatfara/dsa/blob/main/searchalgorithem.html) (Search algorithms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser lessons"]
  node_index["Landing page<br/>HTML entry page<br/>[index.html]"]
  node_array["Array masterclass<br/>HTML lesson"]
  node_kadane["Kadane lesson<br/>HTML lesson<br/>[kadane.html]"]
  node_search["Search algorithms<br/>HTML lesson"]
  node_two_pointer["Two-pointer techniques<br/>HTML lesson<br/>[twopointer.html]"]
  node_lesson_content["Instructional content<br/>embedded page content"]
end

subgraph group_presentation["Presentation content"]
  node_ds_presentation["Data structures intro deck<br/>presentation asset"]
end

node_web_browser(("Web browser<br/>runtime"))
node_presentation_app(("Presentation software<br/>runtime"))

node_web_browser -->|"opens"| node_index
node_web_browser -.->|"opens directly"| node_array
node_web_browser -.->|"opens directly"| node_kadane
node_web_browser -.->|"opens directly"| node_search
node_web_browser -.->|"opens directly"| node_two_pointer
node_index -->|"lesson navigation"| node_array
node_index -->|"lesson navigation"| node_kadane
node_index -->|"lesson navigation"| node_search
node_index -->|"lesson navigation"| node_two_pointer
node_array -->|"renders"| node_lesson_content
node_kadane -->|"renders"| node_lesson_content
node_search -->|"renders"| node_lesson_content
node_two_pointer -->|"renders"| node_lesson_content
node_presentation_app -->|"opens"| node_ds_presentation

click node_index "https://github.com/fatfara/dsa/blob/main/index.html"
click node_array "https://github.com/fatfara/dsa/blob/main/ArrayMasterclass.html"
click node_kadane "https://github.com/fatfara/dsa/blob/main/kadane.html"
click node_search "https://github.com/fatfara/dsa/blob/main/searchalgorithem.html"
click node_two_pointer "https://github.com/fatfara/dsa/blob/main/twopointer.html"
click node_ds_presentation "https://github.com/fatfara/dsa/blob/main/DataStructures_Intro_Animated.pptx"

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_index,node_array,node_kadane,node_search,node_two_pointer,node_lesson_content toneBlue
class node_ds_presentation toneAmber
class node_web_browser,node_presentation_app toneNeutral
```

## Components

### Browser lessons

Independent static HTML documents.

- [Landing page](https://github.com/fatfara/dsa/blob/main/index.html): HTML entry page · Primary navigation entry point. · `index.html`
- [Array masterclass](https://github.com/fatfara/dsa/blob/main/ArrayMasterclass.html): HTML lesson · `ArrayMasterclass.html`
- [Kadane lesson](https://github.com/fatfara/dsa/blob/main/kadane.html): HTML lesson · `kadane.html`
- [Search algorithms](https://github.com/fatfara/dsa/blob/main/searchalgorithem.html): HTML lesson · `searchalgorithem.html`
- [Two-pointer techniques](https://github.com/fatfara/dsa/blob/main/twopointer.html): HTML lesson · `twopointer.html`
- **Instructional content**: embedded page content · Each lesson owns its content and client-side interaction.

### Presentation content

Consumed outside the browser runtime.

- [Data structures intro deck](https://github.com/fatfara/dsa/blob/main/DataStructures_Intro_Animated.pptx): presentation asset · Standalone non-code curriculum artifact. · `DataStructures_Intro_Animated.pptx`

### Other components

- **Web browser**: runtime · Directly opens and renders lesson pages.
- **Presentation software**: runtime · Opens the standalone curriculum deck.

## Connections

- Web browser → Landing page: opens
- Web browser → Array masterclass: opens directly
- Web browser → Kadane lesson: opens directly
- Web browser → Search algorithms: opens directly
- Web browser → Two-pointer techniques: opens directly
- Landing page → Array masterclass: lesson navigation
- Landing page → Kadane lesson: lesson navigation
- Landing page → Search algorithms: lesson navigation
- Landing page → Two-pointer techniques: lesson navigation
- Array masterclass → Instructional content: renders
- Kadane lesson → Instructional content: renders
- Search algorithms → Instructional content: renders
- Two-pointer techniques → Instructional content: renders
- Presentation software → Data structures intro deck: opens
