# itsmariodias/vehicle-management-java architecture

> Architecture diagram of the GitHub repository itsmariodias/vehicle-management-java, 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/itsmariodias/vehicle-management-java
- Repository: https://github.com/itsmariodias/vehicle-management-java

## Overview

This is a desktop vehicle-management app: customers and public users browse/filter listings, customers submit purchase requests, and dealers manage listings and accept or deny requests. Project.java is the Swing entry point and UI coordinator; account and vehicle packages hold in-memory vectors, so state ends when the app closes. The README documents signup/login, account management, and sorting; sampled source confirms the UI-to-model coordination and request-state methods, but not every panel action.

Main entry points: [`Project.java`](https://github.com/itsmariodias/vehicle-management-java/blob/main/Project.java) (App and panels), [`pDealer/Dealer.java`](https://github.com/itsmariodias/vehicle-management-java/blob/main/pDealer/Dealer.java) (Dealer accounts), [`pCustomer/Customer.java`](https://github.com/itsmariodias/vehicle-management-java/blob/main/pCustomer/Customer.java) (Customer accounts), [`pVehicle/Vehicle.java`](https://github.com/itsmariodias/vehicle-management-java/blob/main/pVehicle/Vehicle.java) (Listings and requests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop UI"]
  node_project["App and panels<br/>[Project.java]"]
end

subgraph group_accounts["Accounts"]
  node_dealer["Dealer accounts<br/>[Dealer.java]"]
  node_customer["Customer accounts<br/>[Customer.java]"]
end

subgraph group_market["Vehicle marketplace"]
  node_vehicles["Listings and requests<br/>[Vehicle.java]"]
end

subgraph group_model["Shared user model"]
  node_details["User details<br/>[Details.java]"]
end

node_user(("Customer or dealer"))

node_user -->|"uses"| node_project
node_project -->|"authenticates, manages"| node_dealer
node_project -->|"authenticates, manages"| node_customer
node_project -->|"lists, filters, requests"| node_vehicles
node_dealer -->|"deletes listings"| node_vehicles
node_customer -->|"cancels orders"| node_vehicles
node_dealer -->|"inherits"| node_details
node_customer -->|"inherits"| node_details

click node_project "https://github.com/itsmariodias/vehicle-management-java/blob/main/Project.java"
click node_dealer "https://github.com/itsmariodias/vehicle-management-java/blob/main/pDealer/Dealer.java"
click node_customer "https://github.com/itsmariodias/vehicle-management-java/blob/main/pCustomer/Customer.java"
click node_vehicles "https://github.com/itsmariodias/vehicle-management-java/blob/main/pVehicle/Vehicle.java"
click node_details "https://github.com/itsmariodias/vehicle-management-java/blob/main/pDetails/Details.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_project toneBlue
class node_dealer,node_customer toneAmber
class node_vehicles toneMint
class node_details toneRose
class node_user toneIndigo
```

## Components

### Desktop UI

- [App and panels](https://github.com/itsmariodias/vehicle-management-java/blob/main/Project.java): `Project.java`

### Accounts

- [Dealer accounts](https://github.com/itsmariodias/vehicle-management-java/blob/main/pDealer/Dealer.java): `pDealer/Dealer.java`
- [Customer accounts](https://github.com/itsmariodias/vehicle-management-java/blob/main/pCustomer/Customer.java): `pCustomer/Customer.java`

### Vehicle marketplace

- [Listings and requests](https://github.com/itsmariodias/vehicle-management-java/blob/main/pVehicle/Vehicle.java): `pVehicle/Vehicle.java`

### Shared user model

- [User details](https://github.com/itsmariodias/vehicle-management-java/blob/main/pDetails/Details.java): `pDetails/Details.java`

### Other components

- **Customer or dealer**

## Connections

- Customer or dealer → App and panels: uses
- App and panels → Dealer accounts: authenticates, manages
- App and panels → Customer accounts: authenticates, manages
- App and panels → Listings and requests: lists, filters, requests
- Dealer accounts → Listings and requests: deletes listings
- Customer accounts → Listings and requests: cancels orders
- Dealer accounts → User details: inherits
- Customer accounts → User details: inherits
