# mdtanvirhasib/online-food-ordering-platform architecture

> Architecture diagram of the GitHub repository mdtanvirhasib/online-food-ordering-platform, 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/mdtanvirhasib/online-food-ordering-platform
- Repository: https://github.com/mdtanvirhasib/online-food-ordering-platform

## Overview

This PHP food-ordering application lets customers register or log in, browse food, add items to a session cart, apply vouchers, and proceed to payment; admins can log in and manage food and vouchers. The graph separates customer flows, administration, and shared persistence. Source excerpts confirm the main database operations; several view-to-controller links are supported by the source index. The payment implementation and some unsampled views are only represented at the level supported by their paths and references.

Main entry points: [`Food_Ordering_System/User/DB/db.php`](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/DB/db.php) (User DB connection), [`Food_Ordering_System/User/control/userreg.php`](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/userreg.php) (Registration), [`Food_Ordering_System/Admin/DB/db.php`](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/DB/db.php) (Admin DB connection), [`Food_Ordering_System/User/View/cart.php`](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/cart.php) (Cart view)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_customer["Customer experience"]
  node_registration["Registration<br/>[userreg.php]"]
  node_registration_view["Registration view<br/>[userreg.php]"]
  node_login["Customer login<br/>[userlogin.php]"]
  node_login_view["Login view<br/>[userlogin.php]"]
  node_catalog["Food browsing<br/>[userhome.php]"]
  node_cart["Cart and vouchers<br/>[cart.php]"]
  node_cart_view["Cart view<br/>[cart.php]"]
  node_payment["Payment step<br/>[payment.php]"]
  node_payment_view["Payment view<br/>[payment.php]"]
  node_voucher_view["Voucher browsing<br/>[viewvoucher.php]"]
  node_profile["Profile management<br/>[profile.php]"]
  node_profile_view["Profile view<br/>[profile.php]"]
  node_logout["Logout<br/>[logout.php]"]
end

subgraph group_admin["Administration"]
  node_admin_login["Admin login<br/>[adminlogin.php]"]
  node_admin_login_view["Admin login view<br/>[adminlogin.php]"]
  node_admin_home["Admin home<br/>[adminhome.php]"]
  node_food_admin["Food management<br/>[addfood.php]"]
  node_food_admin_view["Food form<br/>[addfood.php]"]
  node_voucher_admin["Voucher management<br/>[addvaucher.php]"]
  node_voucher_admin_view["Voucher form<br/>[addvoucher.php]"]
end

subgraph group_shared["Shared services"]
  node_reg_helpers["Registration helpers<br/>[function.php]"]
  node_user_db_config["User DB connection<br/>[db.php]"]
  node_admin_db_config["Admin DB connection<br/>[db.php]"]
end

subgraph group_storage["Persistence"]
  node_database[("MySQL database")]
end

node_customer(("Customer"))
node_admin_actor(("Admin"))

node_customer -->|"registers through"| node_registration_view
node_registration_view -->|"includes handler"| node_registration
node_registration -->|"checks email"| node_reg_helpers
node_registration -->|"queries users"| node_user_db_config
node_customer -->|"logs in through"| node_login_view
node_login_view -->|"includes handler"| node_login
node_login -->|"queries users"| node_user_db_config
node_customer -.->|"browses food"| node_catalog
node_catalog -->|"loads catalog"| node_user_db_config
node_customer -->|"manages cart"| node_cart_view
node_cart_view -->|"includes handler"| node_cart
node_cart -->|"queries food and vouchers"| node_user_db_config
node_cart_view -->|"proceeds to"| node_payment_view
node_payment_view -->|"references handler"| node_payment
node_customer -.->|"views vouchers"| node_voucher_view
node_voucher_view -->|"loads vouchers"| node_user_db_config
node_customer -->|"manages profile"| node_profile_view
node_profile_view -->|"references handler"| node_profile
node_profile -->|"reads and updates"| node_user_db_config
node_customer -->|"logs out"| node_logout
node_admin_actor -->|"logs in through"| node_admin_login_view
node_admin_login_view -->|"includes handler"| node_admin_login
node_admin_login -->|"queries users"| node_admin_db_config
node_admin_actor -->|"opens dashboard"| node_admin_home
node_admin_home -.->|"offers food form"| node_food_admin_view
node_food_admin_view -->|"includes handler"| node_food_admin
node_food_admin -->|"inserts food"| node_admin_db_config
node_admin_home -.->|"offers voucher form"| node_voucher_admin_view
node_voucher_admin_view -->|"includes handler"| node_voucher_admin
node_voucher_admin -->|"inserts voucher"| node_admin_db_config
node_registration -->|"loads connection"| node_user_db_config
node_reg_helpers -->|"uses connection"| node_user_db_config
node_user_db_config -->|"connects to"| node_database
node_admin_db_config -->|"connects to"| node_database

click node_registration "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/userreg.php"
click node_registration_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userreg.php"
click node_login "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/userlogin.php"
click node_login_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userlogin.php"
click node_catalog "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userhome.php"
click node_cart "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/cart.php"
click node_cart_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/cart.php"
click node_payment "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/payment.php"
click node_payment_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/payment.php"
click node_voucher_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/viewvoucher.php"
click node_profile "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/profile.php"
click node_profile_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/profile.php"
click node_logout "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/logout.php"
click node_admin_login "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/adminlogin.php"
click node_admin_login_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/adminlogin.php"
click node_admin_home "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/adminhome.php"
click node_food_admin "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/addfood.php"
click node_food_admin_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/addfood.php"
click node_voucher_admin "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/addvaucher.php"
click node_voucher_admin_view "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/addvoucher.php"
click node_reg_helpers "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/function.php"
click node_user_db_config "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/DB/db.php"
click node_admin_db_config "https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/DB/db.php"

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_registration,node_registration_view,node_login,node_login_view,node_catalog,node_cart,node_cart_view,node_payment,node_payment_view,node_voucher_view,node_profile,node_profile_view,node_logout toneBlue
class node_admin_login,node_admin_login_view,node_admin_home,node_food_admin,node_food_admin_view,node_voucher_admin,node_voucher_admin_view toneAmber
class node_reg_helpers,node_user_db_config,node_admin_db_config toneMint
class node_database toneRose
class node_customer,node_admin_actor toneIndigo
```

## Components

### Customer experience

- [Registration](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/userreg.php): `Food_Ordering_System/User/control/userreg.php`
- [Registration view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userreg.php): `Food_Ordering_System/User/View/userreg.php`
- [Customer login](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/userlogin.php): `Food_Ordering_System/User/control/userlogin.php`
- [Login view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userlogin.php): `Food_Ordering_System/User/View/userlogin.php`
- [Food browsing](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/userhome.php): `Food_Ordering_System/User/View/userhome.php`
- [Cart and vouchers](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/cart.php): `Food_Ordering_System/User/control/cart.php`
- [Cart view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/cart.php): `Food_Ordering_System/User/View/cart.php`
- [Payment step](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/payment.php): `Food_Ordering_System/User/control/payment.php`
- [Payment view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/payment.php): `Food_Ordering_System/User/View/payment.php`
- [Voucher browsing](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/viewvoucher.php): `Food_Ordering_System/User/View/viewvoucher.php`
- [Profile management](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/profile.php): `Food_Ordering_System/User/control/profile.php`
- [Profile view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/View/profile.php): `Food_Ordering_System/User/View/profile.php`
- [Logout](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/logout.php): `Food_Ordering_System/User/control/logout.php`

### Administration

- [Admin login](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/adminlogin.php): `Food_Ordering_System/Admin/Controller/adminlogin.php`
- [Admin login view](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/adminlogin.php): `Food_Ordering_System/Admin/View/adminlogin.php`
- [Admin home](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/adminhome.php): `Food_Ordering_System/Admin/View/adminhome.php`
- [Food management](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/addfood.php): `Food_Ordering_System/Admin/Controller/addfood.php`
- [Food form](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/addfood.php): `Food_Ordering_System/Admin/View/addfood.php`
- [Voucher management](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/Controller/addvaucher.php): `Food_Ordering_System/Admin/Controller/addvaucher.php`
- [Voucher form](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/View/addvoucher.php): `Food_Ordering_System/Admin/View/addvoucher.php`

### Shared services

- [Registration helpers](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/control/function.php): `Food_Ordering_System/User/control/function.php`
- [User DB connection](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/User/DB/db.php): `Food_Ordering_System/User/DB/db.php`
- [Admin DB connection](https://github.com/mdtanvirhasib/online-food-ordering-platform/blob/main/Food_Ordering_System/Admin/DB/db.php): `Food_Ordering_System/Admin/DB/db.php`

### Persistence

- **MySQL database**

### Other components

- **Customer**
- **Admin**

## Connections

- Customer → Registration view: registers through (evidence: `Food_Ordering_System/User/View/userreg.php`)
- Registration view → Registration: includes handler (evidence: `Food_Ordering_System/User/View/userreg.php`)
- Registration → Registration helpers: checks email (evidence: `Food_Ordering_System/User/control/userreg.php`)
- Registration → User DB connection: queries users (evidence: `Food_Ordering_System/User/control/userreg.php`)
- Customer → Login view: logs in through (evidence: `Food_Ordering_System/User/View/userlogin.php`)
- Login view → Customer login: includes handler (evidence: `Food_Ordering_System/User/View/userlogin.php`)
- Customer login → User DB connection: queries users (evidence: `Food_Ordering_System/User/control/userlogin.php`)
- Customer → Food browsing: browses food
- Food browsing → User DB connection: loads catalog (evidence: `Food_Ordering_System/User/View/userhome.php`)
- Customer → Cart view: manages cart (evidence: `Food_Ordering_System/User/View/cart.php`)
- Cart view → Cart and vouchers: includes handler (evidence: `Food_Ordering_System/User/View/cart.php`)
- Cart and vouchers → User DB connection: queries food and vouchers (evidence: `Food_Ordering_System/User/control/cart.php`)
- Cart view → Payment view: proceeds to (evidence: `Food_Ordering_System/User/View/cart.php`)
- Payment view → Payment step: references handler (evidence: `Food_Ordering_System/User/View/payment.php`)
- Customer → Voucher browsing: views vouchers
- Voucher browsing → User DB connection: loads vouchers (evidence: `Food_Ordering_System/User/View/viewvoucher.php`)
- Customer → Profile view: manages profile (evidence: `Food_Ordering_System/User/View/profile.php`)
- Profile view → Profile management: references handler (evidence: `Food_Ordering_System/User/View/profile.php`)
- Profile management → User DB connection: reads and updates (evidence: `Food_Ordering_System/User/control/profile.php`)
- Customer → Logout: logs out
- Admin → Admin login view: logs in through (evidence: `Food_Ordering_System/Admin/View/adminlogin.php`)
- Admin login view → Admin login: includes handler (evidence: `Food_Ordering_System/Admin/View/adminlogin.php`)
- Admin login → Admin DB connection: queries users (evidence: `Food_Ordering_System/Admin/Controller/adminlogin.php`)
- Admin → Admin home: opens dashboard
- Admin home → Food form: offers food form
- Food form → Food management: includes handler (evidence: `Food_Ordering_System/Admin/View/addfood.php`)
- Food management → Admin DB connection: inserts food (evidence: `Food_Ordering_System/Admin/Controller/addfood.php`)
- Admin home → Voucher form: offers voucher form
- Voucher form → Voucher management: includes handler (evidence: `Food_Ordering_System/Admin/View/addvoucher.php`)
- Voucher management → Admin DB connection: inserts voucher (evidence: `Food_Ordering_System/Admin/Controller/addvaucher.php`)
- Registration → User DB connection: loads connection (evidence: `Food_Ordering_System/User/control/userreg.php`)
- Registration helpers → User DB connection: uses connection (evidence: `Food_Ordering_System/User/control/function.php`)
- User DB connection → MySQL database: connects to (evidence: `Food_Ordering_System/User/DB/db.php`)
- Admin DB connection → MySQL database: connects to (evidence: `Food_Ordering_System/Admin/DB/db.php`)
