# ashrafyawar/airport-management-system-gui-project architecture

> Architecture diagram of the GitHub repository ashrafyawar/airport-management-system-gui-project, 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/ashrafyawar/airport-management-system-gui-project
- Repository: https://github.com/ashrafyawar/airport-management-system-gui-project

## Overview

This Java project models airport operations through a GUI: users log in and the README describes redirecting an airport administrator to an admin page. The domain covers airlines, routes, aircraft, flights and ticketing, alongside airport personnel, customers and shops. Airport and airline storage hold operational state; the airport also initializes a route graph. The source index identifies further domain and UI modules, but excerpts do not establish most of their runtime call paths, so those links are omitted rather than inferred.

Main entry points: [`src/Airport/AirportSystemStorage.java`](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportSystemStorage.java) (Airport state), [`src/Airline/Airline.java`](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Airline.java) (Airline), [`src/AllPages/GUI.java`](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/AllPages/GUI.java) (Airport GUI), [`src/Airline/AirlineSystemStorage.java`](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/AirlineSystemStorage.java) (Airline state)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["User interface"]
  node_gui["Airport GUI<br/>[GUI.java]"]
end

subgraph group_airport["Airport operations"]
  node_airport_admin["Airport administration<br/>[AirportAdmin.java]"]
  node_airport_model["Airport model<br/>[Airport.java]"]
  node_airport_store[("Airport state")]
  node_airport_staff["Airport personnel"]
  node_customers["Customers<br/>[Customer.java]"]
  node_shops["Shops<br/>[Shop.java]"]
  node_shop_manager["Shop management<br/>[ShopManager.java]"]
end

subgraph group_airline["Airline operations"]
  node_airline_admin["Airline administration<br/>[AirlineAdmin.java]"]
  node_airline_model["Airline<br/>[Airline.java]"]
  node_airline_store[("Airline state")]
  node_aircraft["Aircraft<br/>[Aircraft.java]"]
  node_destinations["Destinations<br/>[Destination.java]"]
  node_flights["Flights<br/>[Flight.java]"]
  node_tickets["Ticketing<br/>[Ticket.java]"]
end

subgraph group_foundation["Shared foundations"]
  node_people["User identity<br/>[Person.java]"]
  node_route_graph["Route graph<br/>[MapGraph.java]"]
end

node_user(("Airport admin"))

node_user -->|"uses"| node_gui
node_gui -->|"opens admin page"| node_airport_admin
node_airport_model -->|"creates state"| node_airport_store
node_airport_store -->|"initializes routes"| node_route_graph
node_airport_store -->|"seeds destinations"| node_destinations
node_airline_model -->|"creates state"| node_airline_store
node_airline_model -->|"creates ticket"| node_tickets
node_airline_admin -->|"manages records"| node_airline_store

click node_gui "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/AllPages/GUI.java"
click node_airport_admin "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportAdmin.java"
click node_airport_model "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Airport.java"
click node_airport_store "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportSystemStorage.java"
click node_airport_staff "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportPersonnel.java"
click node_customers "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Customer.java"
click node_shops "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Shop.java"
click node_shop_manager "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/ShopManager.java"
click node_airline_admin "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/AirlineAdmin.java"
click node_airline_model "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Airline.java"
click node_airline_store "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/AirlineSystemStorage.java"
click node_aircraft "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Aircraft.java"
click node_destinations "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Destination.java"
click node_flights "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Flight.java"
click node_tickets "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Ticket.java"
click node_people "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Client/Person.java"
click node_route_graph "https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/DataStructures/MapGraph.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_gui toneBlue
class node_airport_admin,node_airport_model,node_airport_store,node_airport_staff,node_customers,node_shops,node_shop_manager toneAmber
class node_airline_admin,node_airline_model,node_airline_store,node_aircraft,node_destinations,node_flights,node_tickets toneMint
class node_people,node_route_graph toneRose
class node_user toneIndigo
```

## Components

### User interface

- [Airport GUI](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/AllPages/GUI.java): `src/AllPages/GUI.java`

### Airport operations

- [Airport administration](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportAdmin.java): `src/Airport/AirportAdmin.java`
- [Airport model](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Airport.java): `src/Airport/Airport.java`
- [Airport state](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportSystemStorage.java): `src/Airport/AirportSystemStorage.java`
- [Airport personnel](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/AirportPersonnel.java): `src/Airport/AirportPersonnel.java`
- [Customers](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Customer.java): `src/Airport/Customer.java`
- [Shops](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/Shop.java): `src/Airport/Shop.java`
- [Shop management](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airport/ShopManager.java): `src/Airport/ShopManager.java`

### Airline operations

- [Airline administration](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/AirlineAdmin.java): `src/Airline/AirlineAdmin.java`
- [Airline](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Airline.java): `src/Airline/Airline.java`
- [Airline state](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/AirlineSystemStorage.java): `src/Airline/AirlineSystemStorage.java`
- [Aircraft](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Aircraft.java): `src/Airline/Aircraft.java`
- [Destinations](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Destination.java): `src/Airline/Destination.java`
- [Flights](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Flight.java): `src/Airline/Flight.java`
- [Ticketing](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Airline/Ticket.java): `src/Airline/Ticket.java`

### Shared foundations

- [User identity](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/Client/Person.java): `src/Client/Person.java`
- [Route graph](https://github.com/ashrafyawar/airport-management-system-gui-project/blob/master/src/DataStructures/MapGraph.java): `src/DataStructures/MapGraph.java`

### Other components

- **Airport admin**

## Connections

- Airport admin → Airport GUI: uses (evidence: `README.md`)
- Airport GUI → Airport administration: opens admin page (evidence: `README.md`)
- Airport model → Airport state: creates state (evidence: `src/Airport/Airport.java`)
- Airport state → Route graph: initializes routes (evidence: `src/Airport/AirportSystemStorage.java`)
- Airport state → Destinations: seeds destinations (evidence: `src/Airport/AirportSystemStorage.java`)
- Airline → Airline state: creates state (evidence: `src/Airline/Airline.java`)
- Airline → Ticketing: creates ticket (evidence: `src/Airline/Airline.java`)
- Airline administration → Airline state: manages records (evidence: `src/Airline/AirlineAdmin.java`)
