# rohith-1-kumar/online-food-project architecture

> Architecture diagram of the GitHub repository rohith-1-kumar/online-food-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rohith-1-kumar/online-food-project
- Repository: https://github.com/rohith-1-kumar/online-food-project

## Overview

BiteDash is a browser-based food ordering and logistics application built with HTML, CSS, and vanilla JavaScript. Customers discover restaurants, customize menu items, build a single-restaurant cart, pay, and track orders; separate kitchen and delivery portals manage fulfilment. The sampled JavaScript shows catalog data, page initialization, role switching, and UI behavior, while other feature relationships are based on README documentation rather than inspected implementation.

Main entry points: [`index.html`](https://github.com/rohith-1-kumar/online-food-project/blob/main/index.html) (Web Interface), [`app.js`](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js) (Restaurant Discovery)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_customer["Customer Ordering"]
  node_discovery["Restaurant Discovery<br/>[app.js]"]
  node_restaurant_menu["Restaurant Menu<br/>[app.js]"]
  node_item_customizer["Item Customizer<br/>[app.js]"]
  node_cart["Single-Restaurant Cart<br/>[app.js]"]
  node_address["Delivery Address<br/>[app.js]"]
  node_checkout["Checkout<br/>[app.js]"]
  node_upi_payment["UPI QR Payment<br/>[app.js]"]
  node_order_confirmation["Order Confirmation<br/>[app.js]"]
  node_order_tracking["Order Tracking<br/>[app.js]"]
end

subgraph group_fulfillment["Order Fulfillment"]
  node_kitchen_portal["Kitchen Portal<br/>[app.js]"]
  node_menu_management["Menu Management<br/>[app.js]"]
  node_delivery_portal["Delivery Portal<br/>[app.js]"]
end

subgraph group_shared["Shared Application"]
  node_web_ui["Web Interface<br/>[index.html]"]
  node_catalog[("Restaurant Catalog<br/>[app.js]")]
  node_role_switcher["Role Switcher<br/>[app.js]"]
end

node_customer(("Customer"))
node_kitchen_staff(("Kitchen Staff"))
node_delivery_partner(("Delivery Partner"))

node_customer -->|"uses"| node_web_ui
node_kitchen_staff -->|"uses"| node_web_ui
node_delivery_partner -->|"uses"| node_web_ui
node_web_ui -->|"renders"| node_discovery
node_discovery -->|"filters"| node_catalog
node_discovery -->|"opens"| node_restaurant_menu
node_restaurant_menu -->|"reads"| node_catalog
node_restaurant_menu -->|"customizes"| node_item_customizer
node_item_customizer -->|"adds items"| node_cart
node_cart -->|"sets address"| node_address
node_address -->|"continues"| node_checkout
node_checkout -->|"pays by QR"| node_upi_payment
node_upi_payment -->|"confirms"| node_order_confirmation
node_order_confirmation -->|"tracks order"| node_order_tracking
node_web_ui -->|"switches role"| node_role_switcher
node_role_switcher -->|"opens"| node_kitchen_portal
node_role_switcher -->|"opens"| node_delivery_portal
node_kitchen_portal -->|"manages menu"| node_menu_management
node_kitchen_portal -->|"updates status"| node_order_tracking
node_delivery_portal -->|"updates milestones"| node_order_tracking

click node_web_ui "https://github.com/rohith-1-kumar/online-food-project/blob/main/index.html"
click node_catalog "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_discovery "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_restaurant_menu "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_item_customizer "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_cart "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_address "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_checkout "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_upi_payment "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_order_confirmation "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_order_tracking "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_kitchen_portal "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_menu_management "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_delivery_portal "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"
click node_role_switcher "https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js"

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_discovery,node_restaurant_menu,node_item_customizer,node_cart,node_address,node_checkout,node_upi_payment,node_order_confirmation,node_order_tracking toneBlue
class node_kitchen_portal,node_menu_management,node_delivery_portal toneAmber
class node_web_ui,node_catalog,node_role_switcher toneMint
class node_customer,node_kitchen_staff,node_delivery_partner toneIndigo
```

## Components

### Customer Ordering

- [Restaurant Discovery](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Restaurant Menu](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Item Customizer](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Single-Restaurant Cart](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Delivery Address](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Checkout](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [UPI QR Payment](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Order Confirmation](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Order Tracking](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`

### Order Fulfillment

- [Kitchen Portal](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Menu Management](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Delivery Portal](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`

### Shared Application

- [Web Interface](https://github.com/rohith-1-kumar/online-food-project/blob/main/index.html): `index.html`
- [Restaurant Catalog](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`
- [Role Switcher](https://github.com/rohith-1-kumar/online-food-project/blob/main/app.js): `app.js`

### Other components

- **Customer**
- **Kitchen Staff**
- **Delivery Partner**

## Connections

- Customer → Web Interface: uses
- Kitchen Staff → Web Interface: uses
- Delivery Partner → Web Interface: uses
- Web Interface → Restaurant Discovery: renders
- Restaurant Discovery → Restaurant Catalog: filters
- Restaurant Discovery → Restaurant Menu: opens
- Restaurant Menu → Restaurant Catalog: reads
- Restaurant Menu → Item Customizer: customizes
- Item Customizer → Single-Restaurant Cart: adds items
- Single-Restaurant Cart → Delivery Address: sets address
- Delivery Address → Checkout: continues
- Checkout → UPI QR Payment: pays by QR
- UPI QR Payment → Order Confirmation: confirms
- Order Confirmation → Order Tracking: tracks order
- Web Interface → Role Switcher: switches role
- Role Switcher → Kitchen Portal: opens
- Role Switcher → Delivery Portal: opens
- Kitchen Portal → Menu Management: manages menu
- Kitchen Portal → Order Tracking: updates status
- Delivery Portal → Order Tracking: updates milestones
