# hills808/base-conhecimento-desenvolvimento architecture

> Architecture diagram of the GitHub repository hills808/base-conhecimento-desenvolvimento, 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/hills808/base-conhecimento-desenvolvimento
- Repository: https://github.com/hills808/base-conhecimento-desenvolvimento

## Overview

Curva Aberta is a Portuguese-language learning-resource platform: learners choose one of ten modules, follow its three-stage learning path, use linked materials, and record progress in their browser. The React app also supports module browsing and resource search; guide files provide the documented subject matter, including the integrated MCP lab. The sampled excerpts show the app’s progress persistence, module selection, and search behavior. Some wiring for unsampled page sections is therefore represented only where the README or tree supports it.

Main entry points: [`site/src/App.tsx`](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/App.tsx) (Learning platform), [`site/src/Tabs.tsx`](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/Tabs.tsx) (Stage tabs), [`guias`](https://github.com/hills808/base-conhecimento-desenvolvimento/tree/main/guias) (Subject guides), [`site/src/data/modules.ts`](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/modules.ts) (Module definitions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Study experience"]
  node_app["Learning platform<br/>[App.tsx]"]
  node_tabs["Stage tabs<br/>[Tabs.tsx]"]
end

subgraph group_curriculum["Learning paths"]
  node_module_data["Module definitions<br/>[modules.ts]"]
  node_starting_points["Starting points"]
  node_guides["Subject guides"]
end

subgraph group_library["Resource library"]
  node_resources[("Resource catalog<br/>[resources.json]")]
end

subgraph group_state["Learner state"]
  node_progress[("Browser progress")]
end

node_learner(("Learner"))
node_external_materials(("Linked materials"))
node_github_guides(("GitHub guide pages"))

node_learner -->|"browses modules"| node_app
node_app -->|"reads modules"| node_module_data
node_app -->|"reads starting points"| node_starting_points
node_app -->|"filters resources"| node_resources
node_app -->|"renders stages"| node_tabs
node_tabs -->|"changes stage"| node_app
node_app -->|"reads and writes"| node_progress
node_app -->|"links to guides"| node_guides
node_guides -.->|"published as"| node_github_guides
node_app -->|"opens resources"| node_external_materials
node_learner -->|"searches materials"| node_app

click node_app "https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/App.tsx"
click node_tabs "https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/Tabs.tsx"
click node_module_data "https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/modules.ts"
click node_starting_points "https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/starting-points.json"
click node_guides "https://github.com/hills808/base-conhecimento-desenvolvimento/tree/main/guias"
click node_resources "https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/resources.json"

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_tabs toneBlue
class node_module_data,node_starting_points,node_guides toneAmber
class node_resources toneMint
class node_progress toneRose
class node_learner,node_external_materials,node_github_guides toneIndigo
```

## Components

### Study experience

- [Learning platform](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/App.tsx): `site/src/App.tsx`
- [Stage tabs](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/Tabs.tsx): `site/src/Tabs.tsx`

### Learning paths

- [Module definitions](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/modules.ts): `site/src/data/modules.ts`
- [Starting points](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/starting-points.json): `site/src/data/starting-points.json`
- [Subject guides](https://github.com/hills808/base-conhecimento-desenvolvimento/tree/main/guias): `guias`

### Resource library

- [Resource catalog](https://github.com/hills808/base-conhecimento-desenvolvimento/blob/main/site/src/data/resources.json): `site/src/data/resources.json`

### Learner state

- **Browser progress**

### Other components

- **Learner**
- **Linked materials**
- **GitHub guide pages**

## Connections

- Learner → Learning platform: browses modules
- Learning platform → Module definitions: reads modules
- Learning platform → Starting points: reads starting points
- Learning platform → Resource catalog: filters resources
- Learning platform → Stage tabs: renders stages
- Stage tabs → Learning platform: changes stage
- Learning platform → Browser progress: reads and writes
- Learning platform → Subject guides: links to guides
- Subject guides → GitHub guide pages: published as
- Learning platform → Linked materials: opens resources
- Learner → Learning platform: searches materials
