# shivam123-vb/shivam architecture

> Architecture diagram of the GitHub repository shivam123-vb/shivam, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shivam123-vb/shivam
- Repository: https://github.com/shivam123-vb/shivam

## Overview

Shivam is a CodeIgniter-based e-commerce website. The principal request path is a shopper reaching a routed page or storefront controller and receiving a rendered view; the tree also shows account, cart, order, product, and administrative areas. The graph includes the framework’s bootstrap, routing, loading, and session layers. Source excerpts are limited, so many application-to-model and model-to-view relationships are shown as unverified rather than asserted.

Main entry points: [`system/core/CodeIgniter.php`](https://github.com/shivam123-vb/shivam/blob/main/system/core/CodeIgniter.php) (Runtime Bootstrap), [`application/views/admin`](https://github.com/shivam123-vb/shivam/tree/main/application/views/admin) (Admin Views), [`system/database/DB_query_builder.php`](https://github.com/shivam123-vb/shivam/blob/main/system/database/DB_query_builder.php) (Database Layer), [`application/views/product_list.php`](https://github.com/shivam123-vb/shivam/blob/main/application/views/product_list.php) (Storefront Views)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shopper["Storefront"]
  node_pages["Pages Controller<br/>[Pages.php]"]
  node_products["Product Browsing<br/>[Product.php]"]
  node_cart["Shopping Cart<br/>[Cart.php]"]
  node_orders["Order Workflow<br/>[Orders.php]"]
  node_account["Customer Account<br/>[Account.php]"]
  node_store_views["Storefront Views<br/>[product_list.php]"]
end

subgraph group_admin["Administration"]
  node_admin_dashboard["Admin Dashboard<br/>[Dashboard.php]"]
  node_admin_categories["Category Management<br/>[Category.php]"]
  node_admin_products["Product Management<br/>[Product.php]"]
  node_admin_users["User Management<br/>[User.php]"]
  node_admin_orders["Order Management<br/>[Orders.php]"]
  node_admin_pages["Page Management<br/>[Pages.php]"]
  node_admin_views["Admin Views"]
end

subgraph group_framework["CodeIgniter Runtime"]
  node_front["Front Controller<br/>[index.php]"]
  node_runtime["Runtime Bootstrap<br/>[CodeIgniter.php]"]
  node_router["URI Router<br/>[Router.php]"]
  node_routes["Route Config<br/>[routes.php]"]
  node_config["Configuration<br/>[Config.php]"]
  node_common["Common Services<br/>[Common.php]"]
  node_input["Request Input<br/>[Input.php]"]
  node_security["Request Security<br/>[Security.php]"]
  node_loader["Class Loader<br/>[Loader.php]"]
  node_output["Response Output<br/>[Output.php]"]
  node_session["Session Handling<br/>[Session.php]"]
  node_cache["Cache Library<br/>[Cache.php]"]
  node_driver["Driver Support<br/>[Driver.php]"]
  node_email["Email Library<br/>[Email.php]"]
end

subgraph group_data["Application Data"]
  node_accounts_data["Account Data<br/>[Account_model.php]"]
  node_products_data["Product Data<br/>[Product_model.php]"]
  node_cart_data["Cart Data<br/>[Cart_model.php]"]
  node_orders_data["Order Data<br/>[Orders_model.php]"]
  node_database["Database Layer"]
end

node_visitor(("Shopper"))

node_visitor -->|"requests"| node_front
node_front -->|"bootstraps"| node_runtime
node_runtime -->|"loads"| node_common
node_runtime -->|"loads"| node_config
node_runtime -->|"loads"| node_router
node_runtime -->|"loads"| node_output
node_runtime -->|"loads"| node_input
node_router -->|"includes"| node_routes
node_routes -->|"routes default"| node_pages
node_router -.->|"dispatches"| node_pages
node_runtime -.->|"loads"| node_security
node_runtime -.->|"loads"| node_loader
node_pages -.->|"renders"| node_store_views
node_products -.->|"uses data"| node_products_data
node_products -.->|"renders"| node_store_views
node_cart -.->|"uses data"| node_cart_data
node_cart -.->|"renders"| node_store_views
node_orders -.->|"uses data"| node_orders_data
node_orders -.->|"renders"| node_store_views
node_account -.->|"calls model"| node_accounts_data
node_account -.->|"uses session"| node_session
node_account -.->|"optional email"| node_email
node_accounts_data -.->|"queries"| node_database
node_products_data -.->|"queries"| node_database
node_cart_data -.->|"queries"| node_database
node_orders_data -.->|"queries"| node_database
node_admin_dashboard -.->|"renders"| node_admin_views
node_admin_categories -.->|"renders"| node_admin_views
node_admin_products -.->|"renders"| node_admin_views
node_admin_users -.->|"renders"| node_admin_views
node_admin_orders -.->|"renders"| node_admin_views
node_admin_pages -.->|"renders"| node_admin_views
node_admin_users -.->|"optional email"| node_email
node_loader -->|"uses"| node_driver
node_session -.->|"optional persistence"| node_database
node_runtime -.->|"optional cache"| node_cache

click node_front "https://github.com/shivam123-vb/shivam/blob/main/index.php"
click node_runtime "https://github.com/shivam123-vb/shivam/blob/main/system/core/CodeIgniter.php"
click node_router "https://github.com/shivam123-vb/shivam/blob/main/system/core/Router.php"
click node_routes "https://github.com/shivam123-vb/shivam/blob/main/application/config/routes.php"
click node_config "https://github.com/shivam123-vb/shivam/blob/main/system/core/Config.php"
click node_common "https://github.com/shivam123-vb/shivam/blob/main/system/core/Common.php"
click node_input "https://github.com/shivam123-vb/shivam/blob/main/system/core/Input.php"
click node_security "https://github.com/shivam123-vb/shivam/blob/main/system/core/Security.php"
click node_loader "https://github.com/shivam123-vb/shivam/blob/main/system/core/Loader.php"
click node_output "https://github.com/shivam123-vb/shivam/blob/main/system/core/Output.php"
click node_session "https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Session/Session.php"
click node_pages "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Pages.php"
click node_products "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Product.php"
click node_cart "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Cart.php"
click node_orders "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Orders.php"
click node_account "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Account.php"
click node_store_views "https://github.com/shivam123-vb/shivam/blob/main/application/views/product_list.php"
click node_accounts_data "https://github.com/shivam123-vb/shivam/blob/main/application/models/Account_model.php"
click node_products_data "https://github.com/shivam123-vb/shivam/blob/main/application/models/Product_model.php"
click node_cart_data "https://github.com/shivam123-vb/shivam/blob/main/application/models/Cart_model.php"
click node_orders_data "https://github.com/shivam123-vb/shivam/blob/main/application/models/Orders_model.php"
click node_database "https://github.com/shivam123-vb/shivam/blob/main/system/database/DB_query_builder.php"
click node_admin_dashboard "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Dashboard.php"
click node_admin_categories "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Category.php"
click node_admin_products "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Product.php"
click node_admin_users "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/User.php"
click node_admin_orders "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Orders.php"
click node_admin_pages "https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Pages.php"
click node_admin_views "https://github.com/shivam123-vb/shivam/tree/main/application/views/admin"
click node_cache "https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Cache/Cache.php"
click node_driver "https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Driver.php"
click node_email "https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Email.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_pages,node_products,node_cart,node_orders,node_account,node_store_views toneBlue
class node_admin_dashboard,node_admin_categories,node_admin_products,node_admin_users,node_admin_orders,node_admin_pages,node_admin_views toneAmber
class node_front,node_runtime,node_router,node_routes,node_config,node_common,node_input,node_security,node_loader,node_output,node_session,node_cache,node_driver,node_email toneMint
class node_accounts_data,node_products_data,node_cart_data,node_orders_data,node_database toneRose
class node_visitor toneIndigo
```

## Components

### Storefront

- [Pages Controller](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Pages.php): `application/controllers/Pages.php`
- [Product Browsing](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Product.php): `application/controllers/Product.php`
- [Shopping Cart](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Cart.php): `application/controllers/Cart.php`
- [Order Workflow](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Orders.php): `application/controllers/Orders.php`
- [Customer Account](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/Account.php): `application/controllers/Account.php`
- [Storefront Views](https://github.com/shivam123-vb/shivam/blob/main/application/views/product_list.php): `application/views/product_list.php`

### Administration

- [Admin Dashboard](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Dashboard.php): `application/controllers/admin/Dashboard.php`
- [Category Management](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Category.php): `application/controllers/admin/Category.php`
- [Product Management](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Product.php): `application/controllers/admin/Product.php`
- [User Management](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/User.php): `application/controllers/admin/User.php`
- [Order Management](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Orders.php): `application/controllers/admin/Orders.php`
- [Page Management](https://github.com/shivam123-vb/shivam/blob/main/application/controllers/admin/Pages.php): `application/controllers/admin/Pages.php`
- [Admin Views](https://github.com/shivam123-vb/shivam/tree/main/application/views/admin): `application/views/admin`

### CodeIgniter Runtime

- [Front Controller](https://github.com/shivam123-vb/shivam/blob/main/index.php): `index.php`
- [Runtime Bootstrap](https://github.com/shivam123-vb/shivam/blob/main/system/core/CodeIgniter.php): `system/core/CodeIgniter.php`
- [URI Router](https://github.com/shivam123-vb/shivam/blob/main/system/core/Router.php): `system/core/Router.php`
- [Route Config](https://github.com/shivam123-vb/shivam/blob/main/application/config/routes.php): `application/config/routes.php`
- [Configuration](https://github.com/shivam123-vb/shivam/blob/main/system/core/Config.php): `system/core/Config.php`
- [Common Services](https://github.com/shivam123-vb/shivam/blob/main/system/core/Common.php): `system/core/Common.php`
- [Request Input](https://github.com/shivam123-vb/shivam/blob/main/system/core/Input.php): `system/core/Input.php`
- [Request Security](https://github.com/shivam123-vb/shivam/blob/main/system/core/Security.php): `system/core/Security.php`
- [Class Loader](https://github.com/shivam123-vb/shivam/blob/main/system/core/Loader.php): `system/core/Loader.php`
- [Response Output](https://github.com/shivam123-vb/shivam/blob/main/system/core/Output.php): `system/core/Output.php`
- [Session Handling](https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Session/Session.php): `system/libraries/Session/Session.php`
- [Cache Library](https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Cache/Cache.php): `system/libraries/Cache/Cache.php`
- [Driver Support](https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Driver.php): `system/libraries/Driver.php`
- [Email Library](https://github.com/shivam123-vb/shivam/blob/main/system/libraries/Email.php): `system/libraries/Email.php`

### Application Data

- [Account Data](https://github.com/shivam123-vb/shivam/blob/main/application/models/Account_model.php): `application/models/Account_model.php`
- [Product Data](https://github.com/shivam123-vb/shivam/blob/main/application/models/Product_model.php): `application/models/Product_model.php`
- [Cart Data](https://github.com/shivam123-vb/shivam/blob/main/application/models/Cart_model.php): `application/models/Cart_model.php`
- [Order Data](https://github.com/shivam123-vb/shivam/blob/main/application/models/Orders_model.php): `application/models/Orders_model.php`
- [Database Layer](https://github.com/shivam123-vb/shivam/blob/main/system/database/DB_query_builder.php): `system/database/DB_query_builder.php`

### Other components

- **Shopper**

## Connections

- Shopper → Front Controller: requests
- Front Controller → Runtime Bootstrap: bootstraps (evidence: `index.php`)
- Runtime Bootstrap → Common Services: loads (evidence: `system/core/CodeIgniter.php`)
- Runtime Bootstrap → Configuration: loads (evidence: `system/core/CodeIgniter.php`)
- Runtime Bootstrap → URI Router: loads (evidence: `system/core/CodeIgniter.php`)
- Runtime Bootstrap → Response Output: loads (evidence: `system/core/CodeIgniter.php`)
- Runtime Bootstrap → Request Input: loads (evidence: `system/core/CodeIgniter.php`)
- URI Router → Route Config: includes (evidence: `system/core/Router.php`)
- Route Config → Pages Controller: routes default (evidence: `application/config/routes.php`)
- URI Router → Pages Controller: dispatches
- Runtime Bootstrap → Request Security: loads (evidence: `system/core/CodeIgniter.php`)
- Runtime Bootstrap → Class Loader: loads
- Pages Controller → Storefront Views: renders
- Product Browsing → Product Data: uses data
- Product Browsing → Storefront Views: renders
- Shopping Cart → Cart Data: uses data
- Shopping Cart → Storefront Views: renders
- Order Workflow → Order Data: uses data
- Order Workflow → Storefront Views: renders
- Customer Account → Account Data: calls model
- Customer Account → Session Handling: uses session
- Customer Account → Email Library: optional email (evidence: `application/controllers/Account.php`)
- Account Data → Database Layer: queries
- Product Data → Database Layer: queries
- Cart Data → Database Layer: queries
- Order Data → Database Layer: queries
- Admin Dashboard → Admin Views: renders
- Category Management → Admin Views: renders
- Product Management → Admin Views: renders
- User Management → Admin Views: renders
- Order Management → Admin Views: renders
- Page Management → Admin Views: renders
- User Management → Email Library: optional email (evidence: `application/controllers/admin/User.php`)
- Class Loader → Driver Support: uses (evidence: `system/core/Loader.php`)
- Session Handling → Database Layer: optional persistence
- Runtime Bootstrap → Cache Library: optional cache
