# itsamecycy/restaurant-order-and-kitchen-routing-system architecture

> Architecture diagram of the GitHub repository itsamecycy/restaurant-order-and-kitchen-routing-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/itsamecycy/restaurant-order-and-kitchen-routing-system
- Repository: https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system

## Overview

This Java desktop application provides counter ordering and kitchen order monitoring. A staff member enters through the workspace menu, authenticates for the counter, builds and confirms an order, then kitchen staff view assigned items and advance their status. The README also describes menu management, station routing, queues, and operational reporting, but the sampled implementation exposes counter and kitchen screens rather than separate service modules; reporting and menu administration are not evidenced in the tree. Order state appears in memory; the sampled database access supports cashier authentication only.

Main entry points: [`Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterGUI.java`](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java) (Order counter), [`Restaurant order and kitchen routing system/src/main/java/com/restaurant/kitchen/KitchenGUI.java`](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/kitchen/KitchenGUI.java) (Kitchen workspace), [`Restaurant order and kitchen routing system/src/main/java/com/restaurant/Main.java`](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/Main.java) (Workspace menu), [`Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterLoginGUI.java`](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterLoginGUI.java) (Counter login)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Workspaces"]
  node_main["Workspace menu<br/>[Main.java]"]
end

subgraph group_counter["Counter Operations"]
  node_counter_login["Counter login"]
  node_counter_ui["Order counter<br/>[CounterGUI.java]"]
  node_order_ops["Order management<br/>[CounterGUI.java]"]
  node_receipt["Order receipt<br/>[CounterGUI.java]"]
end

subgraph group_kitchen["Kitchen Operations"]
  node_kitchen_ui["Kitchen workspace<br/>[KitchenGUI.java]"]
  node_kitchen_queue["Station queues and status<br/>[KitchenGUI.java]"]
end

subgraph group_persistence["Authentication Storage"]
  node_counter_repo["Cashier authentication"]
  node_db_manager["Database connection"]
end

node_staff(("Restaurant staff"))
node_mysql[("MySQL database")]

node_staff -->|"opens"| node_main
node_main -->|"opens counter login"| node_counter_login
node_main -->|"opens kitchen"| node_kitchen_ui
node_counter_login -->|"checks credentials"| node_counter_repo
node_counter_repo -->|"requests connection"| node_db_manager
node_db_manager -->|"queries users"| node_mysql
node_counter_login -->|"opens on success"| node_counter_ui
node_counter_ui -->|"creates receipt"| node_receipt
node_counter_ui -->|"submits order"| node_kitchen_ui
node_staff -->|"builds order"| node_counter_ui
node_staff -->|"manages orders"| node_order_ops
node_staff -->|"selects station"| node_kitchen_ui
node_kitchen_ui -->|"shows and updates"| node_kitchen_queue

click node_main "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/Main.java"
click node_counter_login "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterLoginGUI.java"
click node_counter_ui "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java"
click node_order_ops "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java"
click node_receipt "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java"
click node_kitchen_ui "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/kitchen/KitchenGUI.java"
click node_kitchen_queue "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/kitchen/KitchenGUI.java"
click node_counter_repo "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/repository/CounterRepository.java"
click node_db_manager "https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/database/DatabaseManager.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_main toneBlue
class node_counter_login,node_counter_ui,node_order_ops,node_receipt,node_mysql toneAmber
class node_kitchen_ui,node_kitchen_queue toneMint
class node_counter_repo,node_db_manager toneRose
class node_staff toneIndigo
```

## Components

### Workspaces

- [Workspace menu](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/Main.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/Main.java`

### Counter Operations

- [Counter login](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterLoginGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterLoginGUI.java`
- [Order counter](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterGUI.java`
- [Order management](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterGUI.java`
- [Order receipt](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/counter/CounterGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/counter/CounterGUI.java`

### Kitchen Operations

- [Kitchen workspace](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/kitchen/KitchenGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/kitchen/KitchenGUI.java`
- [Station queues and status](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/kitchen/KitchenGUI.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/kitchen/KitchenGUI.java`

### Authentication Storage

- [Cashier authentication](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/repository/CounterRepository.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/repository/CounterRepository.java`
- [Database connection](https://github.com/itsamecycy/restaurant-order-and-kitchen-routing-system/blob/main/Restaurant%20order%20and%20kitchen%20routing%20system/src/main/java/com/restaurant/database/DatabaseManager.java): `Restaurant order and kitchen routing system/src/main/java/com/restaurant/database/DatabaseManager.java`

### Other components

- **Restaurant staff**
- **MySQL database**

## Connections

- Restaurant staff → Workspace menu: opens
- Workspace menu → Counter login: opens counter login
- Workspace menu → Kitchen workspace: opens kitchen
- Counter login → Cashier authentication: checks credentials
- Cashier authentication → Database connection: requests connection
- Database connection → MySQL database: queries users
- Counter login → Order counter: opens on success
- Order counter → Order receipt: creates receipt
- Order counter → Kitchen workspace: submits order
- Restaurant staff → Order counter: builds order
- Restaurant staff → Order management: manages orders
- Restaurant staff → Kitchen workspace: selects station
- Kitchen workspace → Station queues and status: shows and updates
