# arielgavri-max/java-study-exam architecture

> Architecture diagram of the GitHub repository arielgavri-max/java-study-exam, 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/arielgavri-max/java-study-exam
- Repository: https://github.com/arielgavri-max/java-study-exam

## Overview

This repository contains two independent Java exercise models rather than a connected application: Student records and BankAccount records. Callers construct and operate on each class directly. Student supports validated identity and grades, comparisons, digit inspection, averages, best-student selection, and removal from arrays. BankAccount supports validated account details, balance operations and transfers, interest calculations, and array summaries. The available source shows no persistence, external services, or wiring between the two models.

Main entry points: [`q1/Student.java`](https://github.com/arielgavri-max/java-study-exam/blob/main/q1/Student.java) (Student model), [`q2/BankAccount.java`](https://github.com/arielgavri-max/java-study-exam/blob/main/q2/BankAccount.java) (Bank account)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_caller(("Java caller"))
node_student["Student model<br/>[Student.java]"]
node_bank["Bank account<br/>[BankAccount.java]"]

node_caller -->|"uses"| node_student
node_caller -->|"uses"| node_bank

click node_student "https://github.com/arielgavri-max/java-study-exam/blob/main/q1/Student.java"
click node_bank "https://github.com/arielgavri-max/java-study-exam/blob/main/q2/BankAccount.java"

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_caller,node_student toneIndigo
class node_bank toneTeal
```

## Components

### Other components

- **Java caller**
- [Student model](https://github.com/arielgavri-max/java-study-exam/blob/main/q1/Student.java): `q1/Student.java`
- [Bank account](https://github.com/arielgavri-max/java-study-exam/blob/main/q2/BankAccount.java): `q2/BankAccount.java`

## Connections

- Java caller → Student model: uses
- Java caller → Bank account: uses
