# waddi3/hotel-management-system architecture

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

## Overview

This appears to be a JavaFX hotel-management application, with a likely user workflow through a UI into check-in, checkout, billing, and room-service operations. The tree also indicates room, guest, and role concepts. The README is empty and the supplied source excerpts do not show application wiring or domain behavior, so the links below are unverified architectural inferences rather than confirmed calls.

Main entry points: [`src/main/java/sample/demo25/HelloController.java`](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/HelloController.java) (Hello controller), [`src/main/java/sample/demo25/Checkin.java`](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkin.java) (Check-in), [`src/main/java/sample/demo25/Checkout.java`](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkout.java) (Checkout), [`src/main/resources/sample/demo25/hello-view.fxml`](https://github.com/waddi3/hotel-management-system/blob/main/src/main/resources/sample/demo25/hello-view.fxml) (Hotel view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["User interface"]
  node_app["Application startup"]
  node_controller["Hello controller"]
  node_view["Hotel view<br/>[hello-view.fxml]"]
end

subgraph group_operations["Hotel operations"]
  node_checkin["Check-in<br/>[Checkin.java]"]
  node_checkout["Checkout<br/>[Checkout.java]"]
  node_billing["Billing<br/>[Billing.java]"]
  node_roomservice["Room service<br/>[RoomService.java]"]
end

subgraph group_property["Property and guests"]
  node_room["Room<br/>[Room.java]"]
  node_roomtype["Room type<br/>[RoomType.java]"]
  node_guest["Guest<br/>[Guest.java]"]
end

subgraph group_identity["Users and roles"]
  node_admin["Administrator<br/>[Admin.java]"]
  node_receptionist["Receptionist<br/>[Receptionist.java]"]
  node_user["User<br/>[User.java]"]
  node_userrole["User role<br/>[UserRole.java]"]
end

node_staff(("Hotel staff"))

node_staff -.->|"uses"| node_view
node_app -.->|"loads"| node_view
node_view -.->|"binds to"| node_controller
node_controller -.->|"dispatches"| node_checkin
node_controller -.->|"dispatches"| node_checkout
node_controller -.->|"dispatches"| node_billing
node_controller -.->|"dispatches"| node_roomservice
node_checkin -.->|"handles"| node_guest
node_checkin -.->|"uses"| node_room
node_checkout -.->|"uses"| node_room
node_checkout -.->|"invokes"| node_billing
node_room -.->|"has type"| node_roomtype
node_admin -.->|"is a"| node_user
node_receptionist -.->|"is a"| node_user
node_user -.->|"has role"| node_userrole

click node_app "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/HotelManagementSystem.java"
click node_controller "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/HelloController.java"
click node_view "https://github.com/waddi3/hotel-management-system/blob/main/src/main/resources/sample/demo25/hello-view.fxml"
click node_checkin "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkin.java"
click node_checkout "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkout.java"
click node_billing "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Billing.java"
click node_roomservice "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/RoomService.java"
click node_room "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Room.java"
click node_roomtype "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/RoomType.java"
click node_guest "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Guest.java"
click node_admin "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Admin.java"
click node_receptionist "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Receptionist.java"
click node_user "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/User.java"
click node_userrole "https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/UserRole.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_app,node_controller,node_view toneBlue
class node_checkin,node_checkout,node_billing,node_roomservice toneAmber
class node_room,node_roomtype,node_guest toneMint
class node_admin,node_receptionist,node_user,node_userrole toneRose
class node_staff toneIndigo
```

## Components

### User interface

- [Application startup](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/HotelManagementSystem.java): `src/main/java/sample/demo25/HotelManagementSystem.java`
- [Hello controller](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/HelloController.java): `src/main/java/sample/demo25/HelloController.java`
- [Hotel view](https://github.com/waddi3/hotel-management-system/blob/main/src/main/resources/sample/demo25/hello-view.fxml): `src/main/resources/sample/demo25/hello-view.fxml`

### Hotel operations

- [Check-in](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkin.java): `src/main/java/sample/demo25/Checkin.java`
- [Checkout](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Checkout.java): `src/main/java/sample/demo25/Checkout.java`
- [Billing](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Billing.java): `src/main/java/sample/demo25/Billing.java`
- [Room service](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/RoomService.java): `src/main/java/sample/demo25/RoomService.java`

### Property and guests

- [Room](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Room.java): `src/main/java/sample/demo25/Room.java`
- [Room type](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/RoomType.java): `src/main/java/sample/demo25/RoomType.java`
- [Guest](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Guest.java): `src/main/java/sample/demo25/Guest.java`

### Users and roles

- [Administrator](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Admin.java): `src/main/java/sample/demo25/Admin.java`
- [Receptionist](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/Receptionist.java): `src/main/java/sample/demo25/Receptionist.java`
- [User](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/User.java): `src/main/java/sample/demo25/User.java`
- [User role](https://github.com/waddi3/hotel-management-system/blob/main/src/main/java/sample/demo25/UserRole.java): `src/main/java/sample/demo25/UserRole.java`

### Other components

- **Hotel staff**

## Connections

- Hotel staff → Hotel view: uses
- Application startup → Hotel view: loads
- Hotel view → Hello controller: binds to
- Hello controller → Check-in: dispatches
- Hello controller → Checkout: dispatches
- Hello controller → Billing: dispatches
- Hello controller → Room service: dispatches
- Check-in → Guest: handles
- Check-in → Room: uses
- Checkout → Room: uses
- Checkout → Billing: invokes
- Room → Room type: has type
- Administrator → User: is a
- Receptionist → User: is a
- User → User role: has role
