# hitean/javadsa architecture

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

- Interactive diagram: https://gitdiagram.com/hitean/javadsa
- Repository: https://github.com/hitean/javadsa

## Overview

This repository is a collection of independent Java learning exercises, not a single application with a shared runtime. Its examples cover language basics, object-oriented programming, data structures, algorithms, and problem solving. One fuller user-facing workflow is the console-based PVR ticket-booking exercise: it selects a film and auditorium, books seats, and records customers. Other programs are standalone demonstrations. The README is empty, so this map relies on the file tree and sampled source; unsampled exercises are represented only where their paths support the capability.

Main entry points: [`src/problemSolving/PVR.java`](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java) (PVR Booking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Java Fundamentals"]
  node_main["Basic Java Demo<br/>[Main.java]"]
  node_control["Control Flow<br/>[loops.java]"]
  node_methods["Methods"]
  node_oop["OOP Examples<br/>[oops2.java]"]
  node_classes["Classes<br/>[class2.java]"]
end

subgraph group_structures["Data Structures"]
  node_heap["Max Heap"]
  node_linkedlist["Linked List<br/>[LinkedList1.java]"]
  node_collections["Collections<br/>[hashmap.java]"]
  node_stack["Stack Exercise<br/>[stacksynstax.java]"]
end

subgraph group_algorithms["Algorithms"]
  node_arrays["Array Exercises<br/>[arrays15.java]"]
  node_matrices["Matrix Exercises<br/>[arrays2.java]"]
  node_strings["String Exercises<br/>[Strings3.java]"]
  node_problem["Problem Solving<br/>[MissingNumber.java]"]
end

subgraph group_applications["Console Applications"]
  node_pvr["PVR Booking<br/>[PVR.java]"]
  node_films[("Film Directory<br/>[PVR.java]")]
  node_auditorium[("Auditorium Seats<br/>[PVR.java]")]
  node_seating["Seating Display<br/>[PVR.java]"]
  node_customers[("Customer Registry<br/>[PVR.java]")]
  node_customer["Booking Record<br/>[PVR.java]"]
end

node_console(("Console User"))

node_console -->|"starts booking"| node_pvr
node_pvr -->|"lists films"| node_films
node_pvr -->|"looks up auditorium"| node_films
node_films -->|"returns mapping"| node_pvr
node_pvr -->|"checks and books"| node_auditorium
node_pvr -->|"prints seats"| node_seating
node_pvr -->|"creates record"| node_customer
node_pvr -->|"adds customer"| node_customers
node_customers -->|"prints bookings"| node_pvr

click node_main "https://github.com/hitean/javadsa/blob/main/src/Main.java"
click node_control "https://github.com/hitean/javadsa/blob/main/src/loops.java"
click node_methods "https://github.com/hitean/javadsa/blob/main/src/functionsAndMethods.java"
click node_oop "https://github.com/hitean/javadsa/blob/main/src/OOPS/oops2.java"
click node_classes "https://github.com/hitean/javadsa/blob/main/src/Classes/class2.java"
click node_arrays "https://github.com/hitean/javadsa/blob/main/src/arrays/arrays15.java"
click node_matrices "https://github.com/hitean/javadsa/blob/main/src/arrays2d/arrays2.java"
click node_strings "https://github.com/hitean/javadsa/blob/main/src/Strings/Strings3.java"
click node_problem "https://github.com/hitean/javadsa/blob/main/src/problemSolving/MissingNumber.java"
click node_heap "https://github.com/hitean/javadsa/blob/main/src/PowerOfTwoMaxHeap.java"
click node_linkedlist "https://github.com/hitean/javadsa/blob/main/src/linkedList/LinkedList1.java"
click node_collections "https://github.com/hitean/javadsa/blob/main/src/hashmap/hashmap.java"
click node_stack "https://github.com/hitean/javadsa/blob/main/src/stack/stacksynstax.java"
click node_pvr "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java"
click node_films "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java"
click node_auditorium "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java"
click node_seating "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java"
click node_customers "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java"
click node_customer "https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.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_main,node_control,node_methods,node_oop,node_classes,node_console toneBlue
class node_heap,node_linkedlist,node_collections,node_stack toneAmber
class node_arrays,node_matrices,node_strings,node_problem toneMint
class node_pvr,node_films,node_auditorium,node_seating,node_customers,node_customer toneRose
```

## Components

### Java Fundamentals

- [Basic Java Demo](https://github.com/hitean/javadsa/blob/main/src/Main.java): `src/Main.java`
- [Control Flow](https://github.com/hitean/javadsa/blob/main/src/loops.java): `src/loops.java`
- [Methods](https://github.com/hitean/javadsa/blob/main/src/functionsAndMethods.java): `src/functionsAndMethods.java`
- [OOP Examples](https://github.com/hitean/javadsa/blob/main/src/OOPS/oops2.java): `src/OOPS/oops2.java`
- [Classes](https://github.com/hitean/javadsa/blob/main/src/Classes/class2.java): `src/Classes/class2.java`

### Data Structures

- [Max Heap](https://github.com/hitean/javadsa/blob/main/src/PowerOfTwoMaxHeap.java): `src/PowerOfTwoMaxHeap.java`
- [Linked List](https://github.com/hitean/javadsa/blob/main/src/linkedList/LinkedList1.java): `src/linkedList/LinkedList1.java`
- [Collections](https://github.com/hitean/javadsa/blob/main/src/hashmap/hashmap.java): `src/hashmap/hashmap.java`
- [Stack Exercise](https://github.com/hitean/javadsa/blob/main/src/stack/stacksynstax.java): `src/stack/stacksynstax.java`

### Algorithms

- [Array Exercises](https://github.com/hitean/javadsa/blob/main/src/arrays/arrays15.java): `src/arrays/arrays15.java`
- [Matrix Exercises](https://github.com/hitean/javadsa/blob/main/src/arrays2d/arrays2.java): `src/arrays2d/arrays2.java`
- [String Exercises](https://github.com/hitean/javadsa/blob/main/src/Strings/Strings3.java): `src/Strings/Strings3.java`
- [Problem Solving](https://github.com/hitean/javadsa/blob/main/src/problemSolving/MissingNumber.java): `src/problemSolving/MissingNumber.java`

### Console Applications

- [PVR Booking](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`
- [Film Directory](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`
- [Auditorium Seats](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`
- [Seating Display](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`
- [Customer Registry](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`
- [Booking Record](https://github.com/hitean/javadsa/blob/main/src/problemSolving/PVR.java): `src/problemSolving/PVR.java`

### Other components

- **Console User**

## Connections

- Console User → PVR Booking: starts booking
- PVR Booking → Film Directory: lists films
- PVR Booking → Film Directory: looks up auditorium
- Film Directory → PVR Booking: returns mapping
- PVR Booking → Auditorium Seats: checks and books
- PVR Booking → Seating Display: prints seats
- PVR Booking → Booking Record: creates record
- PVR Booking → Customer Registry: adds customer
- Customer Registry → PVR Booking: prints bookings
