# leonardosilva777/java_curso architecture

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

- Interactive diagram: https://gitdiagram.com/leonardosilva777/java_curso
- Repository: https://github.com/leonardosilva777/java_curso

## Overview

Aulas_Java is a collection of standalone Java course examples and exercises, not a single application. The visible workflows are console input, a small lesson-specific calculation or object operation, and printed results. The README describes broader Java, JavaFX, database, and Spring topics, but those implementations are not present in this tree; the graph therefore focuses on the source-backed lessons. Edges reflect the excerpts and SOURCE INDEX references; unsampled behavior is not inferred.

Main entry points: [`Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios`](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios) (Basic OOP Exercises), [`Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java`](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java) (Order Example), [`Aulas_Java/src/main/java/secao10_arrays_listas/Aplication`](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao10_arrays_listas/Aplication) (Vector Examples), [`Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java`](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java) (Height Statistics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arrays["Arrays and Lists"]
  node_vector_examples["Vector Examples"]
  node_product_vect["Product Model<br/>[ProductVect.java]"]
  node_height_exercise["Height Statistics<br/>[alturas.java]"]
  node_height_model["Person Height Model<br/>[AlturaPessoas.java]"]
  node_age_exercise["Age Comparison<br/>[mais_velho.java]"]
  node_age_model["Person Age Model<br/>[PessoaIdade.java]"]
  node_approval_exercise["Student Approval<br/>[aprovados.java]"]
  node_student_model["Approved Student Model"]
  node_people_exercise["People Statistics<br/>[dados_pessoas.java]"]
  node_people_model["Person Data Model<br/>[Pessoas.java]"]
  node_other_vector_exercises["Other Vector Exercises"]
end

subgraph group_oop["Object-Oriented Exercises"]
  node_oop_examples["Basic OOP Exercises"]
  node_rectangle_model["Rectangle Model<br/>[Retangulo.java]"]
  node_employee_model["Employee Model<br/>[Funcionario.java]"]
  node_student_grade_model["Student Grade Model<br/>[Aluno.java]"]
  node_dollar_model["Dollar Calculator<br/>[Dollar.java]"]
  node_bank_exercise["Bank Account Exercise<br/>[Program.java]"]
  node_bank_account["Account Model<br/>[Cadastro.java]"]
end

subgraph group_composition["Composition and Enums"]
  node_order_example["Order Example<br/>[Pedidos.java]"]
  node_order_model["Order Model<br/>[Order.java]"]
  node_order_status["Order Status<br/>[OrderStatus.java]"]
  node_weekday_example["Weekday Enum Example<br/>[EnumTest.java]"]
  node_day_enum["Day Enum<br/>[Day.java]"]
end

subgraph group_topics["Date-Time Topics"]
  node_date_time_examples["Date-Time Examples"]
end

node_console(("Console User"))

node_console -->|"provides input"| node_vector_examples
node_vector_examples -->|"creates products"| node_product_vect
node_console -->|"provides input"| node_height_exercise
node_height_exercise -->|"creates records"| node_height_model
node_age_exercise -->|"uses model"| node_age_model
node_approval_exercise -->|"uses model"| node_student_model
node_console -->|"provides input"| node_people_exercise
node_people_exercise -->|"creates records"| node_people_model
node_console -->|"provides input"| node_oop_examples
node_oop_examples -->|"uses model"| node_rectangle_model
node_oop_examples -->|"uses model"| node_employee_model
node_oop_examples -->|"uses model"| node_student_grade_model
node_oop_examples -->|"calls calculator"| node_dollar_model
node_console -->|"provides input"| node_bank_exercise
node_bank_exercise -->|"updates account"| node_bank_account
node_order_example -->|"creates order"| node_order_model
node_order_example -->|"selects status"| node_order_status
node_order_model -->|"stores status"| node_order_status
node_weekday_example -->|"switches on day"| node_day_enum

click node_vector_examples "https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao10_arrays_listas/Aplication"
click node_product_vect "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/entities/ProductVect.java"
click node_height_exercise "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java"
click node_height_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/entities/AlturaPessoas.java"
click node_age_exercise "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/mais_velho.java"
click node_age_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/entities/PessoaIdade.java"
click node_approval_exercise "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/aprovados.java"
click node_student_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/entities/AlunosAprovados.java"
click node_people_exercise "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/dados_pessoas.java"
click node_people_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/entities/Pessoas.java"
click node_other_vector_exercises "https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor"
click node_oop_examples "https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios"
click node_rectangle_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex01_retangulo/Retangulo.java"
click node_employee_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex02_funcionario/Funcionario.java"
click node_student_grade_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex3_notaAluno/Aluno.java"
click node_dollar_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex4_cotacaoDollar/Dollar.java"
click node_bank_exercise "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Program.java"
click node_bank_account "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Cadastro.java"
click node_order_example "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java"
click node_order_model "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Order.java"
click node_order_status "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/OrderStatus.java"
click node_weekday_example "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/EnumTest.java"
click node_day_enum "https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Day.java"
click node_date_time_examples "https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao11_TopicosEspeciais/Program"

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_vector_examples,node_product_vect,node_height_exercise,node_height_model,node_age_exercise,node_age_model,node_approval_exercise,node_student_model,node_people_exercise,node_people_model,node_other_vector_exercises,node_console toneBlue
class node_oop_examples,node_rectangle_model,node_employee_model,node_student_grade_model,node_dollar_model,node_bank_exercise,node_bank_account toneAmber
class node_order_example,node_order_model,node_order_status,node_weekday_example,node_day_enum toneMint
class node_date_time_examples toneRose
```

## Components

### Arrays and Lists

- [Vector Examples](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao10_arrays_listas/Aplication): `Aulas_Java/src/main/java/secao10_arrays_listas/Aplication`
- [Product Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/entities/ProductVect.java): `Aulas_Java/src/main/java/secao10_arrays_listas/entities/ProductVect.java`
- [Height Statistics](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java`
- [Person Height Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/entities/AlturaPessoas.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/entities/AlturaPessoas.java`
- [Age Comparison](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/mais_velho.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/mais_velho.java`
- [Person Age Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/entities/PessoaIdade.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/entities/PessoaIdade.java`
- [Student Approval](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/aprovados.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/aprovados.java`
- [Approved Student Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/entities/AlunosAprovados.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/entities/AlunosAprovados.java`
- [People Statistics](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/dados_pessoas.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/dados_pessoas.java`
- [Person Data Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/entities/Pessoas.java): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/entities/Pessoas.java`
- [Other Vector Exercises](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor): `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor`

### Object-Oriented Exercises

- [Basic OOP Exercises](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios): `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios`
- [Rectangle Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex01_retangulo/Retangulo.java): `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex01_retangulo/Retangulo.java`
- [Employee Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex02_funcionario/Funcionario.java): `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex02_funcionario/Funcionario.java`
- [Student Grade Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex3_notaAluno/Aluno.java): `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex3_notaAluno/Aluno.java`
- [Dollar Calculator](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex4_cotacaoDollar/Dollar.java): `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex4_cotacaoDollar/Dollar.java`
- [Bank Account Exercise](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Program.java): `Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Program.java`
- [Account Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Cadastro.java): `Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Cadastro.java`

### Composition and Enums

- [Order Example](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java): `Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java`
- [Order Model](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Order.java): `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Order.java`
- [Order Status](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/OrderStatus.java): `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/OrderStatus.java`
- [Weekday Enum Example](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/EnumTest.java): `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/EnumTest.java`
- [Day Enum](https://github.com/leonardosilva777/java_curso/blob/main/Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Day.java): `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Day.java`

### Date-Time Topics

- [Date-Time Examples](https://github.com/leonardosilva777/java_curso/tree/main/Aulas_Java/src/main/java/secao11_TopicosEspeciais/Program): `Aulas_Java/src/main/java/secao11_TopicosEspeciais/Program`

### Other components

- **Console User**

## Connections

- Console User → Vector Examples: provides input (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/Aplication/Program_vetor2.java`)
- Vector Examples → Product Model: creates products (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/Aplication/Program_vetor2.java`)
- Console User → Height Statistics: provides input (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java`)
- Height Statistics → Person Height Model: creates records (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex03_alturas/alturas.java`)
- Age Comparison → Person Age Model: uses model (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex09_maisVelho/mais_velho.java`)
- Student Approval → Approved Student Model: uses model (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex10_aprovados/aprovados.java`)
- Console User → People Statistics: provides input (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/dados_pessoas.java`)
- People Statistics → Person Data Model: creates records (evidence: `Aulas_Java/src/main/java/secao10_arrays_listas/_exercicios_vetor/ex11_dadosPessoas/dados_pessoas.java`)
- Console User → Basic OOP Exercises: provides input (evidence: `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex01_retangulo/Program.java`)
- Basic OOP Exercises → Rectangle Model: uses model (evidence: `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex01_retangulo/Program.java`)
- Basic OOP Exercises → Employee Model: uses model (evidence: `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex02_funcionario/Program.java`)
- Basic OOP Exercises → Student Grade Model: uses model (evidence: `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex3_notaAluno/Program.java`)
- Basic OOP Exercises → Dollar Calculator: calls calculator (evidence: `Aulas_Java/src/main/java/secao8_poo/aulas/_exercicios/ex4_cotacaoDollar/Program.java`)
- Console User → Bank Account Exercise: provides input (evidence: `Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Program.java`)
- Bank Account Exercise → Account Model: updates account (evidence: `Aulas_Java/src/main/java/secao9_poo/aulas/_exercicios/ex01_contaBancaria/Program.java`)
- Order Example → Order Model: creates order (evidence: `Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java`)
- Order Example → Order Status: selects status (evidence: `Aulas_Java/src/main/java/secao12_Composicao_Objetos/program/Pedidos.java`)
- Order Model → Order Status: stores status (evidence: `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/Order.java`)
- Weekday Enum Example → Day Enum: switches on day (evidence: `Aulas_Java/src/main/java/secao12_Composicao_Objetos/entities/EnumTest.java`)
