# pandita21-r/practice-repository architecture

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

- Interactive diagram: https://gitdiagram.com/pandita21-r/practice-repository
- Repository: https://github.com/pandita21-r/practice-repository

## Overview

This is a beginner programming-practice repository, not a single integrated application. Its product is a collection of independent Java and Python examples that demonstrate fundamentals, small console and GUI workflows, and object-oriented modeling. The graph highlights representative runnable workflows and major documented topic branches; examples generally do not call across files. The Task example is the clearest multi-component domain workflow. Relationships for unsampled examples are omitted rather than inferred.

Main entry points: [`java/inheritance/javaswing/testroom/Main.java`](https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/Main.java) (Task Demo), [`java`](https://github.com/pandita21-r/practice-repository/tree/main/java) (Java Fundamentals), [`java/arrays-2d/src/FitnessBMITracker.java`](https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java) (BMI Data Input), [`java/inheritance/javaswing/testroom/TaskManager.java`](https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/TaskManager.java) (Task Manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_basics["Language Basics"]
  node_java_examples["Java Fundamentals"]
  node_number_converter["Number Converter<br/>[Main.java]"]
  node_array_practice["Array Practice"]
end

subgraph group_javaapps["Java Applications"]
  node_bmi_input["BMI Data Input"]
  node_bmi_compute["BMI Computation"]
  node_bmi_report["BMI Report"]
  node_report_file["Report File"]
  node_file_handling["File Handling Practice"]
  node_task_cli["Task Demo<br/>[Main.java]"]
  node_task_manager["Task Manager<br/>[TaskManager.java]"]
  node_task_model["Task Model<br/>[Task.java]"]
  node_standalone_apps["Standalone Demos"]
end

subgraph group_oop["Object-Oriented Practice"]
  node_encapsulation["Validation and State"]
  node_inheritance["Inheritance Examples"]
  node_polymorphism["Polymorphism Examples"]
end

subgraph group_gui["Swing Interfaces"]
  node_swing_ui["Swing Examples"]
  node_gui_practice["GUI Exam Forms"]
end

subgraph group_python["Python Exercises"]
  node_python_examples["Python Fundamentals"]
  node_python_exercises["Python Exercises"]
end

node_learner(("Learner"))

node_learner -->|"chooses conversion"| node_number_converter
node_learner -->|"enters measurements"| node_bmi_input
node_bmi_input -->|"passes data"| node_bmi_compute
node_bmi_compute -->|"passes BMI"| node_bmi_report
node_bmi_report -->|"writes report"| node_report_file
node_learner -->|"runs demo"| node_task_cli
node_task_cli -->|"manages tasks"| node_task_manager
node_task_cli -->|"creates tasks"| node_task_model
node_task_manager -->|"stores and updates"| node_task_model
node_learner -->|"runs examples"| node_python_examples
node_learner -->|"practices concepts"| node_java_examples
node_java_examples --> node_array_practice
node_learner -->|"practices file I/O"| node_file_handling
node_learner -->|"practices validation"| node_encapsulation
node_learner -->|"practices inheritance"| node_inheritance
node_learner -->|"practices abstraction"| node_polymorphism
node_learner -->|"uses interfaces"| node_swing_ui
node_learner -->|"tries GUI exercises"| node_gui_practice
node_learner -->|"runs demos"| node_standalone_apps

click node_java_examples "https://github.com/pandita21-r/practice-repository/tree/main/java"
click node_number_converter "https://github.com/pandita21-r/practice-repository/blob/main/java/Main.java"
click node_python_examples "https://github.com/pandita21-r/practice-repository/tree/main/python/src"
click node_python_exercises "https://github.com/pandita21-r/practice-repository/tree/main/python/src/exercises"
click node_array_practice "https://github.com/pandita21-r/practice-repository/blob/main/java/arraylists/src/ArrayListsPractice.java"
click node_bmi_input "https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java"
click node_bmi_compute "https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java"
click node_bmi_report "https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java"
click node_report_file "https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java"
click node_file_handling "https://github.com/pandita21-r/practice-repository/tree/main/java/file-handling/src"
click node_encapsulation "https://github.com/pandita21-r/practice-repository/tree/main/java/encapsulation/src"
click node_inheritance "https://github.com/pandita21-r/practice-repository/tree/main/java/inheritance/src"
click node_polymorphism "https://github.com/pandita21-r/practice-repository/tree/main/java/polymorphism/src"
click node_task_cli "https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/Main.java"
click node_task_manager "https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/TaskManager.java"
click node_task_model "https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/Task.java"
click node_swing_ui "https://github.com/pandita21-r/practice-repository/tree/main/java/inheritance/javaswing/src"
click node_gui_practice "https://github.com/pandita21-r/practice-repository/tree/main/java/lab_exams"
click node_standalone_apps "https://github.com/pandita21-r/practice-repository/tree/main/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_java_examples,node_number_converter,node_array_practice toneBlue
class node_bmi_input,node_bmi_compute,node_bmi_report,node_report_file,node_file_handling,node_task_cli,node_task_manager,node_task_model,node_standalone_apps toneAmber
class node_encapsulation,node_inheritance,node_polymorphism toneMint
class node_swing_ui,node_gui_practice toneRose
class node_python_examples,node_python_exercises,node_learner toneIndigo
```

## Components

### Language Basics

- [Java Fundamentals](https://github.com/pandita21-r/practice-repository/tree/main/java): `java`
- [Number Converter](https://github.com/pandita21-r/practice-repository/blob/main/java/Main.java): `java/Main.java`
- [Array Practice](https://github.com/pandita21-r/practice-repository/blob/main/java/arraylists/src/ArrayListsPractice.java): `java/arraylists/src/ArrayListsPractice.java`

### Java Applications

- [BMI Data Input](https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java): `java/arrays-2d/src/FitnessBMITracker.java`
- [BMI Computation](https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java): `java/arrays-2d/src/FitnessBMITracker.java`
- [BMI Report](https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java): `java/arrays-2d/src/FitnessBMITracker.java`
- [Report File](https://github.com/pandita21-r/practice-repository/blob/main/java/arrays-2d/src/FitnessBMITracker.java): `java/arrays-2d/src/FitnessBMITracker.java`
- [File Handling Practice](https://github.com/pandita21-r/practice-repository/tree/main/java/file-handling/src): `java/file-handling/src`
- [Task Demo](https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/Main.java): `java/inheritance/javaswing/testroom/Main.java`
- [Task Manager](https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/TaskManager.java): `java/inheritance/javaswing/testroom/TaskManager.java`
- [Task Model](https://github.com/pandita21-r/practice-repository/blob/main/java/inheritance/javaswing/testroom/Task.java): `java/inheritance/javaswing/testroom/Task.java`
- [Standalone Demos](https://github.com/pandita21-r/practice-repository/tree/main/java): `java`

### Object-Oriented Practice

- [Validation and State](https://github.com/pandita21-r/practice-repository/tree/main/java/encapsulation/src): `java/encapsulation/src`
- [Inheritance Examples](https://github.com/pandita21-r/practice-repository/tree/main/java/inheritance/src): `java/inheritance/src`
- [Polymorphism Examples](https://github.com/pandita21-r/practice-repository/tree/main/java/polymorphism/src): `java/polymorphism/src`

### Swing Interfaces

- [Swing Examples](https://github.com/pandita21-r/practice-repository/tree/main/java/inheritance/javaswing/src): `java/inheritance/javaswing/src`
- [GUI Exam Forms](https://github.com/pandita21-r/practice-repository/tree/main/java/lab_exams): `java/lab_exams`

### Python Exercises

- [Python Fundamentals](https://github.com/pandita21-r/practice-repository/tree/main/python/src): `python/src`
- [Python Exercises](https://github.com/pandita21-r/practice-repository/tree/main/python/src/exercises): `python/src/exercises`

### Other components

- **Learner**

## Connections

- Learner → Number Converter: chooses conversion (evidence: `java/Main.java`)
- Learner → BMI Data Input: enters measurements (evidence: `java/arrays-2d/src/FitnessBMITracker.java`)
- BMI Data Input → BMI Computation: passes data (evidence: `java/arrays-2d/src/FitnessBMITracker.java`)
- BMI Computation → BMI Report: passes BMI (evidence: `java/arrays-2d/src/FitnessBMITracker.java`)
- BMI Report → Report File: writes report (evidence: `java/arrays-2d/src/FitnessBMITracker.java`)
- Learner → Task Demo: runs demo (evidence: `java/inheritance/javaswing/testroom/Main.java`)
- Task Demo → Task Manager: manages tasks (evidence: `java/inheritance/javaswing/testroom/Main.java`)
- Task Demo → Task Model: creates tasks (evidence: `java/inheritance/javaswing/testroom/Main.java`)
- Task Manager → Task Model: stores and updates (evidence: `java/inheritance/javaswing/testroom/TaskManager.java`)
- Learner → Python Fundamentals: runs examples (evidence: `README.md`)
- Learner → Java Fundamentals: practices concepts (evidence: `README.md`)
- Java Fundamentals → Array Practice
- Learner → File Handling Practice: practices file I/O (evidence: `README.md`)
- Learner → Validation and State: practices validation (evidence: `README.md`)
- Learner → Inheritance Examples: practices inheritance (evidence: `README.md`)
- Learner → Polymorphism Examples: practices abstraction (evidence: `README.md`)
- Learner → Swing Examples: uses interfaces (evidence: `README.md`)
- Learner → GUI Exam Forms: tries GUI exercises (evidence: `java/lab_exams/Restaurant_Order_System.java`)
- Learner → Standalone Demos: runs demos
