# gelus-dev/freeedu architecture

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

- Interactive diagram: https://gitdiagram.com/gelus-dev/freeedu
- Repository: https://github.com/gelus-dev/freeedu

## Overview

This is a static educational reference site, with pages covering mathematics, science, and English plus test and study-tip material. The principal user workflow is to enter through the home page and consult subject content; the file tree identifies these areas, but the available source excerpt does not establish how pages link or how tests work. The only confirmed runtime behavior is the navigation toggle in `script.js`, which adds or removes an active class on the menu and toggle.

Main entry points: [`script.js`](https://github.com/gelus-dev/freeedu/blob/main/script.js) (Navigation toggle), [`index.html`](https://github.com/gelus-dev/freeedu/blob/main/index.html) (Home page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_navigation["Site navigation"]
  node_home["Home page<br/>[index.html]"]
  node_nav_toggle["Navigation toggle<br/>[script.js]"]
  node_nav_menu["Navigation menu<br/>[script.js]"]
end

subgraph group_math["Mathematics"]
  node_math_home["Math topics<br/>[math.html]"]
  node_algebra["Algebra<br/>[algebra.html]"]
  node_geometry["Geometry<br/>[geometry.html]"]
  node_functions["Functions and limits"]
  node_statistics["Statistics and probability<br/>[statistics.html]"]
end

subgraph group_science["Science"]
  node_science_home["Science topics<br/>[science.html]"]
  node_biology["Biology<br/>[cell biology.html]"]
  node_chemistry["Chemistry"]
  node_physics["Physics"]
  node_ecology["Ecology<br/>[ecology.html]"]
end

subgraph group_english_assessment["English and assessment"]
  node_english_home["English topics<br/>[english.html]"]
  node_grammar["Grammar<br/>[tense.html]"]
  node_articles["Articles<br/>[articles.html]"]
  node_tests["Tests<br/>[tests.html]"]
  node_test_sets["Test sets<br/>[set.html]"]
  node_tips["Study tips<br/>[tips.html]"]
end

node_visitor(("Learner"))

node_visitor -->|"opens"| node_home
node_visitor -->|"clicks"| node_nav_toggle
node_nav_toggle -->|"toggles class"| node_nav_menu

click node_home "https://github.com/gelus-dev/freeedu/blob/main/index.html"
click node_nav_toggle "https://github.com/gelus-dev/freeedu/blob/main/script.js"
click node_nav_menu "https://github.com/gelus-dev/freeedu/blob/main/script.js"
click node_math_home "https://github.com/gelus-dev/freeedu/blob/main/math.html"
click node_algebra "https://github.com/gelus-dev/freeedu/blob/main/algebra.html"
click node_geometry "https://github.com/gelus-dev/freeedu/blob/main/geometry.html"
click node_functions "https://github.com/gelus-dev/freeedu/blob/main/relation%20and%20function.html"
click node_statistics "https://github.com/gelus-dev/freeedu/blob/main/statistics.html"
click node_science_home "https://github.com/gelus-dev/freeedu/blob/main/science.html"
click node_biology "https://github.com/gelus-dev/freeedu/blob/main/cell%20biology.html"
click node_chemistry "https://github.com/gelus-dev/freeedu/blob/main/chemical%20reaction.html"
click node_physics "https://github.com/gelus-dev/freeedu/blob/main/force%20and%20motion.html"
click node_ecology "https://github.com/gelus-dev/freeedu/blob/main/ecology.html"
click node_english_home "https://github.com/gelus-dev/freeedu/blob/main/english.html"
click node_grammar "https://github.com/gelus-dev/freeedu/blob/main/tense.html"
click node_articles "https://github.com/gelus-dev/freeedu/blob/main/articles.html"
click node_tests "https://github.com/gelus-dev/freeedu/blob/main/tests.html"
click node_test_sets "https://github.com/gelus-dev/freeedu/blob/main/set.html"
click node_tips "https://github.com/gelus-dev/freeedu/blob/main/tips.html"

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_home,node_nav_toggle,node_nav_menu toneBlue
class node_math_home,node_algebra,node_geometry,node_functions,node_statistics toneAmber
class node_science_home,node_biology,node_chemistry,node_physics,node_ecology toneMint
class node_english_home,node_grammar,node_articles,node_tests,node_test_sets,node_tips toneRose
class node_visitor toneIndigo
```

## Components

### Site navigation

- [Home page](https://github.com/gelus-dev/freeedu/blob/main/index.html): `index.html`
- [Navigation toggle](https://github.com/gelus-dev/freeedu/blob/main/script.js): `script.js`
- [Navigation menu](https://github.com/gelus-dev/freeedu/blob/main/script.js): `script.js`

### Mathematics

- [Math topics](https://github.com/gelus-dev/freeedu/blob/main/math.html): `math.html`
- [Algebra](https://github.com/gelus-dev/freeedu/blob/main/algebra.html): `algebra.html`
- [Geometry](https://github.com/gelus-dev/freeedu/blob/main/geometry.html): `geometry.html`
- [Functions and limits](https://github.com/gelus-dev/freeedu/blob/main/relation%20and%20function.html): `relation and function.html`
- [Statistics and probability](https://github.com/gelus-dev/freeedu/blob/main/statistics.html): `statistics.html`

### Science

- [Science topics](https://github.com/gelus-dev/freeedu/blob/main/science.html): `science.html`
- [Biology](https://github.com/gelus-dev/freeedu/blob/main/cell%20biology.html): `cell biology.html`
- [Chemistry](https://github.com/gelus-dev/freeedu/blob/main/chemical%20reaction.html): `chemical reaction.html`
- [Physics](https://github.com/gelus-dev/freeedu/blob/main/force%20and%20motion.html): `force and motion.html`
- [Ecology](https://github.com/gelus-dev/freeedu/blob/main/ecology.html): `ecology.html`

### English and assessment

- [English topics](https://github.com/gelus-dev/freeedu/blob/main/english.html): `english.html`
- [Grammar](https://github.com/gelus-dev/freeedu/blob/main/tense.html): `tense.html`
- [Articles](https://github.com/gelus-dev/freeedu/blob/main/articles.html): `articles.html`
- [Tests](https://github.com/gelus-dev/freeedu/blob/main/tests.html): `tests.html`
- [Test sets](https://github.com/gelus-dev/freeedu/blob/main/set.html): `set.html`
- [Study tips](https://github.com/gelus-dev/freeedu/blob/main/tips.html): `tips.html`

### Other components

- **Learner**

## Connections

- Learner → Home page: opens
- Learner → Navigation toggle: clicks
- Navigation toggle → Navigation menu: toggles class
