# yesdisown/flaszka architecture

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

- Interactive diagram: https://gitdiagram.com/yesdisown/flaszka
- Repository: https://github.com/yesdisown/flaszka

## Overview

Flaszka appears intended as a flashcard-study CLI, but the implementation is incomplete: `study` runs an interactive review against an in-memory chest, while `main` only prints “Hello, world!” and does not invoke it. The study loop asks the user to self-grade, then moves cards between shelves. Parsing, storage, and output modules are empty, so their intended roles and any wiring cannot be established from the sampled source.

Main entry points: [`src/study.rs`](https://github.com/yesdisown/flaszka/blob/main/src/study.rs) (Study loop), [`src/main.rs`](https://github.com/yesdisown/flaszka/blob/main/src/main.rs) (Program entry), [`src/models.rs`](https://github.com/yesdisown/flaszka/blob/main/src/models.rs) (Cards and shelves)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_study["Study session"]
  node_study_loop["Study loop<br/>[study.rs]"]
end

subgraph group_domain["Card model"]
  node_models["Cards and shelves<br/>[models.rs]"]
end

node_user(("Terminal user"))
node_main["Program entry<br/>[main.rs]"]

node_main -->|"prints greeting"| node_user
node_user -->|"enters answers"| node_study_loop
node_study_loop -->|"prompts and reveals"| node_user
node_study_loop -->|"reads and moves cards"| node_models

click node_main "https://github.com/yesdisown/flaszka/blob/main/src/main.rs"
click node_study_loop "https://github.com/yesdisown/flaszka/blob/main/src/study.rs"
click node_models "https://github.com/yesdisown/flaszka/blob/main/src/models.rs"

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_study_loop,node_user toneBlue
class node_models toneAmber
class node_main toneTeal
```

## Components

### Study session

- [Study loop](https://github.com/yesdisown/flaszka/blob/main/src/study.rs): `src/study.rs`

### Card model

- [Cards and shelves](https://github.com/yesdisown/flaszka/blob/main/src/models.rs): `src/models.rs`

### Other components

- **Terminal user**
- [Program entry](https://github.com/yesdisown/flaszka/blob/main/src/main.rs): `src/main.rs`

## Connections

- Program entry → Terminal user: prints greeting
- Terminal user → Study loop: enters answers
- Study loop → Terminal user: prompts and reveals
- Study loop → Cards and shelves: reads and moves cards
