# gornikoghosyan1/javacore architecture

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

- Interactive diagram: https://gitdiagram.com/gornikoghosyan1/javacore
- Repository: https://github.com/gornikoghosyan1/javacore

## Overview

This repository is a collection of standalone Java teaching examples and homework programs, not a single application. Its principal user workflow is to run an example or homework demo, observe console output, and learn or exercise a language concept. The chapters progress through fundamentals, control flow, classes, and inheritance; homework adds small utilities and an employee console program. The graph groups representative examples rather than listing every independent sample. Relationships are included only where shown by excerpts or the source index.

Main entry points: [`src/chapter8/BoxWeight.java`](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/BoxWeight.java) (Weighted Box), [`src/homeworks/employee/EmployeeDemo.java`](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/EmployeeDemo.java) (Employee Console), [`src/chapter7/TestStack2.java`](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter7/TestStack2.java) (Stack Demo), [`src/chapter8/Shipment.java`](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/Shipment.java) (Shipment)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Language Fundamentals"]
  node_chapter1["First Example<br/>[Example1.java]"]
  node_chapter2["Variables and Branches<br/>[IfExample.java]"]
  node_chapter3["Types and Arrays<br/>[ThreeDMatrix.java]"]
  node_chapter4["Operators<br/>[BasicMath.java]"]
end

subgraph group_control["Control Flow"]
  node_chapter5["Loops and Selection<br/>[Menu.java]"]
end

subgraph group_objects["Classes and Objects"]
  node_chapter6["Box Classes<br/>[Box.java]"]
  node_stack2["Resizable Stack<br/>[Stack2.java]"]
  node_stack2demo["Stack Demo<br/>[TestStack2.java]"]
end

subgraph group_inheritance["Inheritance"]
  node_boxweight["Weighted Box<br/>[BoxWeight.java]"]
  node_shipment["Shipment<br/>[Shipment.java]"]
  node_boxweightdemo["Weighted Box Demo<br/>[DemoBoxWeight.java]"]
  node_supdemo["Superclass Demo<br/>[DemoSuper.java]"]
  node_shipmentdemo["Shipment Demo<br/>[DemoShipment.java]"]
end

subgraph group_homework["Homework Programs"]
  node_bracechecker["Brace Checker<br/>[BraceChecker.java]"]
  node_bracedemo["Brace Checker Demo"]
  node_dynamicarray["Dynamic Array<br/>[DynamicArray.java]"]
  node_dynamicdemo["Dynamic Array Demo"]
  node_employeeapp["Employee Console<br/>[EmployeeDemo.java]"]
  node_employeestorage["Employee Storage"]
  node_employee["Employee Record<br/>[Employee.java]"]
end

node_learner(("Learner"))

node_learner -.->|"runs example"| node_chapter1
node_learner -.->|"runs example"| node_chapter2
node_learner -.->|"runs example"| node_chapter3
node_learner -.->|"runs example"| node_chapter4
node_learner -.->|"runs example"| node_chapter5
node_learner -.->|"runs demo"| node_stack2demo
node_learner -.->|"runs demo"| node_boxweightdemo
node_learner -.->|"runs demo"| node_shipmentdemo
node_learner -.->|"runs demo"| node_bracedemo
node_learner -.->|"runs demo"| node_dynamicdemo
node_learner -.->|"runs program"| node_employeeapp
node_stack2demo -->|"uses"| node_stack2
node_boxweight -->|"extends"| node_chapter6
node_shipment -->|"extends"| node_boxweight
node_boxweightdemo -->|"uses"| node_boxweight
node_supdemo -->|"constructs"| node_boxweight
node_shipmentdemo -->|"constructs"| node_shipment
node_bracedemo -->|"uses"| node_bracechecker
node_dynamicdemo -->|"uses"| node_dynamicarray
node_employeeapp -->|"calls"| node_employeestorage
node_employeeapp -->|"constructs"| node_employee
node_employeestorage -->|"stores and reads"| node_employee

click node_chapter1 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter1/Example1.java"
click node_chapter2 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter2/IfExample.java"
click node_chapter3 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter3/ThreeDMatrix.java"
click node_chapter4 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter4/BasicMath.java"
click node_chapter5 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter5/Menu.java"
click node_chapter6 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter6/Box.java"
click node_stack2 "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter7/Stack2.java"
click node_stack2demo "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter7/TestStack2.java"
click node_boxweight "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/BoxWeight.java"
click node_shipment "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/Shipment.java"
click node_boxweightdemo "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoBoxWeight.java"
click node_supdemo "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoSuper.java"
click node_shipmentdemo "https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoShipment.java"
click node_bracechecker "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/bracechecker/BraceChecker.java"
click node_bracedemo "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/bracechecker/BraceCheckerTest.java"
click node_dynamicarray "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/dynamicarray/DynamicArray.java"
click node_dynamicdemo "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/dynamicarray/DynamicArrayDemo.java"
click node_employeeapp "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/EmployeeDemo.java"
click node_employeestorage "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/EmployeeStorage.java"
click node_employee "https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/Employee.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_chapter1,node_chapter2,node_chapter3,node_chapter4 toneBlue
class node_chapter5 toneAmber
class node_chapter6,node_stack2,node_stack2demo toneMint
class node_boxweight,node_shipment,node_boxweightdemo,node_supdemo,node_shipmentdemo toneRose
class node_bracechecker,node_bracedemo,node_dynamicarray,node_dynamicdemo,node_employeeapp,node_employeestorage,node_employee,node_learner toneIndigo
```

## Components

### Language Fundamentals

- [First Example](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter1/Example1.java): `src/chapter1/Example1.java`
- [Variables and Branches](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter2/IfExample.java): `src/chapter2/IfExample.java`
- [Types and Arrays](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter3/ThreeDMatrix.java): `src/chapter3/ThreeDMatrix.java`
- [Operators](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter4/BasicMath.java): `src/chapter4/BasicMath.java`

### Control Flow

- [Loops and Selection](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter5/Menu.java): `src/chapter5/Menu.java`

### Classes and Objects

- [Box Classes](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter6/Box.java): `src/chapter6/Box.java`
- [Resizable Stack](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter7/Stack2.java): `src/chapter7/Stack2.java`
- [Stack Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter7/TestStack2.java): `src/chapter7/TestStack2.java`

### Inheritance

- [Weighted Box](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/BoxWeight.java): `src/chapter8/BoxWeight.java`
- [Shipment](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/Shipment.java): `src/chapter8/Shipment.java`
- [Weighted Box Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoBoxWeight.java): `src/chapter8/DemoBoxWeight.java`
- [Superclass Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoSuper.java): `src/chapter8/DemoSuper.java`
- [Shipment Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/chapter8/DemoShipment.java): `src/chapter8/DemoShipment.java`

### Homework Programs

- [Brace Checker](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/bracechecker/BraceChecker.java): `src/homeworks/bracechecker/BraceChecker.java`
- [Brace Checker Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/bracechecker/BraceCheckerTest.java): `src/homeworks/bracechecker/BraceCheckerTest.java`
- [Dynamic Array](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/dynamicarray/DynamicArray.java): `src/homeworks/dynamicarray/DynamicArray.java`
- [Dynamic Array Demo](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/dynamicarray/DynamicArrayDemo.java): `src/homeworks/dynamicarray/DynamicArrayDemo.java`
- [Employee Console](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/EmployeeDemo.java): `src/homeworks/employee/EmployeeDemo.java`
- [Employee Storage](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/EmployeeStorage.java): `src/homeworks/employee/EmployeeStorage.java`
- [Employee Record](https://github.com/gornikoghosyan1/javacore/blob/main/src/homeworks/employee/Employee.java): `src/homeworks/employee/Employee.java`

### Other components

- **Learner**

## Connections

- Learner → First Example: runs example
- Learner → Variables and Branches: runs example
- Learner → Types and Arrays: runs example
- Learner → Operators: runs example
- Learner → Loops and Selection: runs example
- Learner → Stack Demo: runs demo
- Learner → Weighted Box Demo: runs demo
- Learner → Shipment Demo: runs demo
- Learner → Brace Checker Demo: runs demo
- Learner → Dynamic Array Demo: runs demo
- Learner → Employee Console: runs program
- Stack Demo → Resizable Stack: uses (evidence: `src/chapter7/TestStack2.java`)
- Weighted Box → Box Classes: extends (evidence: `src/chapter8/BoxWeight.java`)
- Shipment → Weighted Box: extends (evidence: `src/chapter8/Shipment.java`)
- Weighted Box Demo → Weighted Box: uses (evidence: `src/chapter8/DemoBoxWeight.java`)
- Superclass Demo → Weighted Box: constructs (evidence: `src/chapter8/DemoSuper.java`)
- Shipment Demo → Shipment: constructs (evidence: `src/chapter8/DemoShipment.java`)
- Brace Checker Demo → Brace Checker: uses (evidence: `src/homeworks/bracechecker/BraceCheckerTest.java`)
- Dynamic Array Demo → Dynamic Array: uses (evidence: `src/homeworks/dynamicarray/DynamicArrayDemo.java`)
- Employee Console → Employee Storage: calls (evidence: `src/homeworks/employee/EmployeeDemo.java`)
- Employee Console → Employee Record: constructs (evidence: `src/homeworks/employee/EmployeeDemo.java`)
- Employee Storage → Employee Record: stores and reads (evidence: `src/homeworks/employee/EmployeeStorage.java`)
