# joeandreroja/roja_facadepattern architecture

> Architecture diagram of the GitHub repository joeandreroja/roja_facadepattern, 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/joeandreroja/roja_facadepattern
- Repository: https://github.com/joeandreroja/roja_facadepattern

## Overview

This small Java example demonstrates a hotel-services facade. HotelApp creates and calls FrontDesk, which delegates vehicle pickup, room cleaning, and cart requests to their respective services; each service prints a confirmation. The service classes implement HotelService, an otherwise empty interface. The graph reflects the shown calls and implementations; it does not infer additional hotel workflows or state.

Main entry points: [`facadePattern/FrontDesk.java`](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/FrontDesk.java) (FrontDesk Facade), [`facadePattern/HotelService.java`](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HotelService.java) (HotelService), [`facadePattern/Valet.java`](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/Valet.java) (Valet), [`facadePattern/HouseKeeping.java`](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HouseKeeping.java) (HouseKeeping)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_hotel_app["HotelApp<br/>[HotelApp.java]"]
node_front_desk["FrontDesk Facade<br/>[FrontDesk.java]"]
node_valet["Valet<br/>[Valet.java]"]
node_housekeeping["HouseKeeping<br/>[HouseKeeping.java]"]
node_cart["Cart<br/>[Cart.java]"]
node_hotel_service["HotelService<br/>[HotelService.java]"]

node_hotel_app -->|"calls facade"| node_front_desk
node_front_desk -->|"delegates pickup"| node_valet
node_front_desk -->|"delegates cleaning"| node_housekeeping
node_front_desk -->|"delegates request"| node_cart
node_valet -->|"implements"| node_hotel_service
node_housekeeping -->|"implements"| node_hotel_service
node_cart -->|"implements"| node_hotel_service

click node_hotel_app "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HotelApp.java"
click node_front_desk "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/FrontDesk.java"
click node_valet "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/Valet.java"
click node_housekeeping "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HouseKeeping.java"
click node_cart "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/Cart.java"
click node_hotel_service "https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HotelService.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_hotel_app,node_front_desk,node_valet,node_housekeeping,node_cart,node_hotel_service toneTeal
```

## Components

### Other components

- [HotelApp](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HotelApp.java): `facadePattern/HotelApp.java`
- [FrontDesk Facade](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/FrontDesk.java): `facadePattern/FrontDesk.java`
- [Valet](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/Valet.java): `facadePattern/Valet.java`
- [HouseKeeping](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HouseKeeping.java): `facadePattern/HouseKeeping.java`
- [Cart](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/Cart.java): `facadePattern/Cart.java`
- [HotelService](https://github.com/joeandreroja/roja_facadepattern/blob/main/facadePattern/HotelService.java): `facadePattern/HotelService.java`

## Connections

- HotelApp → FrontDesk Facade: calls facade (evidence: `facadePattern/HotelApp.java`)
- FrontDesk Facade → Valet: delegates pickup (evidence: `facadePattern/FrontDesk.java`)
- FrontDesk Facade → HouseKeeping: delegates cleaning (evidence: `facadePattern/FrontDesk.java`)
- FrontDesk Facade → Cart: delegates request (evidence: `facadePattern/FrontDesk.java`)
- Valet → HotelService: implements (evidence: `facadePattern/Valet.java`)
- HouseKeeping → HotelService: implements (evidence: `facadePattern/HouseKeeping.java`)
- Cart → HotelService: implements (evidence: `facadePattern/Cart.java`)
