# metshein/bash architecture

> Architecture diagram of the GitHub repository metshein/bash, 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/metshein/bash
- Repository: https://github.com/metshein/bash

## Overview

This repository provides automated checks for Raspberry Pi course scripting exercises. The documented workflow is to run a task-specific checker to test an exercise; results are shown on the course results page. The README excerpt describes the exercise requirements, but no checker source was provided, so the graph does not infer validation logic, shared-helper behavior, or how results reach the page.

Main entry points: [`task01-check.sh`](https://github.com/metshein/bash/blob/main/task01-check.sh) (Task 01 check), [`task02-check.sh`](https://github.com/metshein/bash/blob/main/task02-check.sh) (Task 02 check), [`task03-check.sh`](https://github.com/metshein/bash/blob/main/task03-check.sh) (Task 03 check), [`task04-check.sh`](https://github.com/metshein/bash/blob/main/task04-check.sh) (Task 04 check)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_checkers["Task checkers"]
  node_task01["Task 01 check<br/>[task01-check.sh]"]
  node_task02["Task 02 check<br/>[task02-check.sh]"]
  node_task03["Task 03 check<br/>[task03-check.sh]"]
  node_task04["Task 04 check<br/>[task04-check.sh]"]
  node_task05["Task 05 check<br/>[task05-check.sh]"]
  node_task06["Task 06 check<br/>[task06-check.sh]"]
  node_task07["Task 07 check<br/>[task07-check.sh]"]
  node_task08["Task 08 check<br/>[task08-check.sh]"]
  node_task09["Task 09 check<br/>[task09-check.sh]"]
  node_task10["Task 10 check<br/>[task10-check.sh]"]
  node_task11["Task 11 check<br/>[task11-check.sh]"]
  node_task12["Task 12 check<br/>[task12-check.sh]"]
  node_task13["Task 13 check<br/>[task13-check.sh]"]
  node_task14["Task 14 check<br/>[task14-check.sh]"]
  node_task15["Task 15 check<br/>[task15-check.sh]"]
  node_task16["Task 16 check<br/>[task16-check.sh]"]
  node_task17["Task 17 check<br/>[task17-check.sh]"]
end

node_learner(("Course learner"))
node_results["Course results page"]

node_learner -->|"runs"| node_task01
node_learner -->|"runs"| node_task02
node_learner -->|"runs"| node_task03
node_learner -->|"runs"| node_task04
node_learner -->|"runs"| node_task05
node_learner -->|"runs"| node_task06
node_learner -->|"runs"| node_task07
node_learner -->|"runs"| node_task08
node_learner -->|"runs"| node_task09
node_learner -->|"runs"| node_task10
node_learner -->|"runs"| node_task11
node_learner -->|"runs"| node_task12
node_learner -->|"runs"| node_task13
node_learner -->|"runs"| node_task14
node_learner -->|"runs"| node_task15
node_learner -->|"runs"| node_task16
node_learner -->|"runs"| node_task17

click node_task01 "https://github.com/metshein/bash/blob/main/task01-check.sh"
click node_task02 "https://github.com/metshein/bash/blob/main/task02-check.sh"
click node_task03 "https://github.com/metshein/bash/blob/main/task03-check.sh"
click node_task04 "https://github.com/metshein/bash/blob/main/task04-check.sh"
click node_task05 "https://github.com/metshein/bash/blob/main/task05-check.sh"
click node_task06 "https://github.com/metshein/bash/blob/main/task06-check.sh"
click node_task07 "https://github.com/metshein/bash/blob/main/task07-check.sh"
click node_task08 "https://github.com/metshein/bash/blob/main/task08-check.sh"
click node_task09 "https://github.com/metshein/bash/blob/main/task09-check.sh"
click node_task10 "https://github.com/metshein/bash/blob/main/task10-check.sh"
click node_task11 "https://github.com/metshein/bash/blob/main/task11-check.sh"
click node_task12 "https://github.com/metshein/bash/blob/main/task12-check.sh"
click node_task13 "https://github.com/metshein/bash/blob/main/task13-check.sh"
click node_task14 "https://github.com/metshein/bash/blob/main/task14-check.sh"
click node_task15 "https://github.com/metshein/bash/blob/main/task15-check.sh"
click node_task16 "https://github.com/metshein/bash/blob/main/task16-check.sh"
click node_task17 "https://github.com/metshein/bash/blob/main/task17-check.sh"

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_task01,node_task02,node_task03,node_task04,node_task05,node_task06,node_task07,node_task08,node_task09,node_task10,node_task11,node_task12,node_task13,node_task14,node_task15,node_task16,node_task17 toneBlue
class node_learner,node_results toneIndigo
```

## Components

### Task checkers

- [Task 01 check](https://github.com/metshein/bash/blob/main/task01-check.sh): `task01-check.sh`
- [Task 02 check](https://github.com/metshein/bash/blob/main/task02-check.sh): `task02-check.sh`
- [Task 03 check](https://github.com/metshein/bash/blob/main/task03-check.sh): `task03-check.sh`
- [Task 04 check](https://github.com/metshein/bash/blob/main/task04-check.sh): `task04-check.sh`
- [Task 05 check](https://github.com/metshein/bash/blob/main/task05-check.sh): `task05-check.sh`
- [Task 06 check](https://github.com/metshein/bash/blob/main/task06-check.sh): `task06-check.sh`
- [Task 07 check](https://github.com/metshein/bash/blob/main/task07-check.sh): `task07-check.sh`
- [Task 08 check](https://github.com/metshein/bash/blob/main/task08-check.sh): `task08-check.sh`
- [Task 09 check](https://github.com/metshein/bash/blob/main/task09-check.sh): `task09-check.sh`
- [Task 10 check](https://github.com/metshein/bash/blob/main/task10-check.sh): `task10-check.sh`
- [Task 11 check](https://github.com/metshein/bash/blob/main/task11-check.sh): `task11-check.sh`
- [Task 12 check](https://github.com/metshein/bash/blob/main/task12-check.sh): `task12-check.sh`
- [Task 13 check](https://github.com/metshein/bash/blob/main/task13-check.sh): `task13-check.sh`
- [Task 14 check](https://github.com/metshein/bash/blob/main/task14-check.sh): `task14-check.sh`
- [Task 15 check](https://github.com/metshein/bash/blob/main/task15-check.sh): `task15-check.sh`
- [Task 16 check](https://github.com/metshein/bash/blob/main/task16-check.sh): `task16-check.sh`
- [Task 17 check](https://github.com/metshein/bash/blob/main/task17-check.sh): `task17-check.sh`

### Other components

- **Course learner**
- **Course results page**

## Connections

- Course learner → Task 01 check: runs
- Course learner → Task 02 check: runs
- Course learner → Task 03 check: runs
- Course learner → Task 04 check: runs
- Course learner → Task 05 check: runs
- Course learner → Task 06 check: runs
- Course learner → Task 07 check: runs
- Course learner → Task 08 check: runs
- Course learner → Task 09 check: runs
- Course learner → Task 10 check: runs
- Course learner → Task 11 check: runs
- Course learner → Task 12 check: runs
- Course learner → Task 13 check: runs
- Course learner → Task 14 check: runs
- Course learner → Task 15 check: runs
- Course learner → Task 16 check: runs
- Course learner → Task 17 check: runs
