# haldenniguidula/sharonstore3.0 architecture

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

- Interactive diagram: https://gitdiagram.com/haldenniguidula/sharonstore3.0
- Repository: https://github.com/haldenniguidula/sharonstore3.0

## Overview

Sharon Store is a PHP store-management system for administrators and cashiers. Users sign in, then reach the admin dashboard or cashier point of sale; the application also exposes inventory, transaction, shift, supplier, reporting, forecasting, account, audit, and backup capabilities. The map groups page-level features, API handlers, shared services, and persistence. Connections are limited to redirects, imports, and fetches visible in the excerpts or SOURCE INDEX; several feature-to-API relationships are not shown and are therefore omitted.

Main entry points: [`includes/db.php`](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/db.php) (Database access), [`includes/auth_check.php`](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/auth_check.php) (Session and access), [`index.php`](https://github.com/haldenniguidula/sharonstore3.0/blob/main/index.php) (Sign in), [`api/inventory.php`](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/inventory.php) (Inventory API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pages["User Pages"]
  node_login["Sign in<br/>[index.php]"]
  node_dashboard["Dashboard<br/>[dashboard.php]"]
  node_pos["Point of sale<br/>[pos.php]"]
  node_inventory_ui["Inventory management<br/>[inventory.php]"]
  node_shifts_ui["Shift management<br/>[shifts.php]"]
  node_stock_monitor["Stock monitor<br/>[stock-monitor.php]"]
  node_suppliers_ui["Supplier management<br/>[suppliers.php]"]
  node_reports_ui["Reports<br/>[reports.php]"]
  node_forecast_ui["Sales forecasting<br/>[forecasting.php]"]
  node_backup_ui["Backup management<br/>[backup.php]"]
  node_accounts_ui["Account management<br/>[accounts.php]"]
end

subgraph group_api["Domain APIs"]
  node_inventory_api["Inventory API<br/>[inventory.php]"]
  node_transactions_api["Transactions API<br/>[transactions.php]"]
  node_shifts_api["Shifts API<br/>[shifts.php]"]
  node_suppliers_api["Suppliers API<br/>[suppliers.php]"]
  node_reports_api["Reports API<br/>[reports.php]"]
  node_forecast_api["Forecasting API<br/>[forecasting.php]"]
  node_backup_api["Backup API<br/>[backup.php]"]
  node_audit_api["Audit logs API<br/>[audit_logs.php]"]
  node_accounts_api["Accounts API<br/>[accounts.php]"]
end

subgraph group_shared["Shared Services"]
  node_auth["Session and access<br/>[auth_check.php]"]
  node_shift_modals["Shift modals<br/>[shift_modals.php]"]
  node_audit_service["Audit logging<br/>[audit.php]"]
  node_inventory_stock["Stock helpers"]
  node_sales_reports["Sales report helpers<br/>[sales_reports.php]"]
  node_forecast_history["Forecast history"]
  node_backup_service["Backup operations<br/>[backup.php]"]
  node_scheduled_backup["Scheduled backups"]
  node_supplier_categories["Supplier categories"]
  node_db["Database access<br/>[db.php]"]
end

subgraph group_state["Persistence"]
  node_mysql[("MySQL database")]
end

node_user(("Store user"))

node_user -->|"signs in"| node_login
node_login -->|"redirects admin"| node_dashboard
node_login -->|"redirects cashier"| node_pos
node_login -->|"loads database"| node_db
node_auth -->|"verifies session"| node_db
node_dashboard -->|"checks access"| node_auth
node_pos -->|"checks access"| node_auth
node_pos -->|"renders"| node_shift_modals
node_inventory_ui -->|"checks access"| node_auth
node_inventory_ui -->|"fetches inventory"| node_inventory_api
node_inventory_api -->|"queries inventory"| node_db
node_inventory_api -->|"checks access"| node_auth
node_inventory_api -->|"uses stock helpers"| node_inventory_stock
node_shifts_ui -->|"checks access"| node_auth
node_shifts_ui -->|"queries shifts"| node_db
node_suppliers_ui -->|"uses categories"| node_supplier_categories
node_suppliers_api -->|"uses categories"| node_supplier_categories
node_suppliers_api -->|"queries suppliers"| node_db
node_reports_api -->|"uses report helpers"| node_sales_reports
node_forecast_api -->|"uses history"| node_forecast_history
node_backup_api -->|"uses backup operations"| node_backup_service
node_backup_api -->|"accesses database"| node_db
node_backup_service -->|"exports database"| node_db
node_scheduled_backup -->|"runs backups"| node_backup_service
node_audit_service -->|"writes audit logs"| node_db
node_accounts_api -->|"checks access"| node_auth
node_accounts_api -->|"queries accounts"| node_db
node_accounts_api -->|"records actions"| node_audit_service
node_transactions_api -->|"checks access"| node_auth
node_transactions_api -->|"queries transactions"| node_db
node_transactions_api -->|"records actions"| node_audit_service
node_shifts_api -->|"checks access"| node_auth
node_shifts_api -->|"queries shifts"| node_db
node_audit_api -->|"reads audit logs"| node_db
node_db -->|"connects to"| node_mysql

click node_login "https://github.com/haldenniguidula/sharonstore3.0/blob/main/index.php"
click node_dashboard "https://github.com/haldenniguidula/sharonstore3.0/blob/main/dashboard.php"
click node_pos "https://github.com/haldenniguidula/sharonstore3.0/blob/main/pos.php"
click node_inventory_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/inventory.php"
click node_shifts_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/shifts.php"
click node_stock_monitor "https://github.com/haldenniguidula/sharonstore3.0/blob/main/stock-monitor.php"
click node_suppliers_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/suppliers.php"
click node_reports_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/reports.php"
click node_forecast_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/forecasting.php"
click node_backup_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/backup.php"
click node_accounts_ui "https://github.com/haldenniguidula/sharonstore3.0/blob/main/accounts.php"
click node_inventory_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/inventory.php"
click node_transactions_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/transactions.php"
click node_shifts_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/shifts.php"
click node_suppliers_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/suppliers.php"
click node_reports_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/reports.php"
click node_forecast_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/forecasting.php"
click node_backup_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/backup.php"
click node_audit_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/audit_logs.php"
click node_accounts_api "https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/accounts.php"
click node_auth "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/auth_check.php"
click node_shift_modals "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/shift_modals.php"
click node_audit_service "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/audit.php"
click node_inventory_stock "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/inventory_stock.php"
click node_sales_reports "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/sales_reports.php"
click node_forecast_history "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/forecast_history.php"
click node_backup_service "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/backup.php"
click node_scheduled_backup "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/scheduled_backup.php"
click node_supplier_categories "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/supplier_categories.php"
click node_db "https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/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_login,node_dashboard,node_pos,node_inventory_ui,node_shifts_ui,node_stock_monitor,node_suppliers_ui,node_reports_ui,node_forecast_ui,node_backup_ui,node_accounts_ui,node_user toneBlue
class node_inventory_api,node_transactions_api,node_shifts_api,node_suppliers_api,node_reports_api,node_forecast_api,node_backup_api,node_audit_api,node_accounts_api toneAmber
class node_auth,node_shift_modals,node_audit_service,node_inventory_stock,node_sales_reports,node_forecast_history,node_backup_service,node_scheduled_backup,node_supplier_categories,node_db toneMint
class node_mysql toneRose
```

## Components

### User Pages

- [Sign in](https://github.com/haldenniguidula/sharonstore3.0/blob/main/index.php): `index.php`
- [Dashboard](https://github.com/haldenniguidula/sharonstore3.0/blob/main/dashboard.php): `dashboard.php`
- [Point of sale](https://github.com/haldenniguidula/sharonstore3.0/blob/main/pos.php): `pos.php`
- [Inventory management](https://github.com/haldenniguidula/sharonstore3.0/blob/main/inventory.php): `inventory.php`
- [Shift management](https://github.com/haldenniguidula/sharonstore3.0/blob/main/shifts.php): `shifts.php`
- [Stock monitor](https://github.com/haldenniguidula/sharonstore3.0/blob/main/stock-monitor.php): `stock-monitor.php`
- [Supplier management](https://github.com/haldenniguidula/sharonstore3.0/blob/main/suppliers.php): `suppliers.php`
- [Reports](https://github.com/haldenniguidula/sharonstore3.0/blob/main/reports.php): `reports.php`
- [Sales forecasting](https://github.com/haldenniguidula/sharonstore3.0/blob/main/forecasting.php): `forecasting.php`
- [Backup management](https://github.com/haldenniguidula/sharonstore3.0/blob/main/backup.php): `backup.php`
- [Account management](https://github.com/haldenniguidula/sharonstore3.0/blob/main/accounts.php): `accounts.php`

### Domain APIs

- [Inventory API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/inventory.php): `api/inventory.php`
- [Transactions API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/transactions.php): `api/transactions.php`
- [Shifts API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/shifts.php): `api/shifts.php`
- [Suppliers API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/suppliers.php): `api/suppliers.php`
- [Reports API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/reports.php): `api/reports.php`
- [Forecasting API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/forecasting.php): `api/forecasting.php`
- [Backup API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/backup.php): `api/backup.php`
- [Audit logs API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/audit_logs.php): `api/audit_logs.php`
- [Accounts API](https://github.com/haldenniguidula/sharonstore3.0/blob/main/api/accounts.php): `api/accounts.php`

### Shared Services

- [Session and access](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/auth_check.php): `includes/auth_check.php`
- [Shift modals](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/shift_modals.php): `includes/shift_modals.php`
- [Audit logging](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/audit.php): `includes/audit.php`
- [Stock helpers](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/inventory_stock.php): `includes/inventory_stock.php`
- [Sales report helpers](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/sales_reports.php): `includes/sales_reports.php`
- [Forecast history](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/forecast_history.php): `includes/forecast_history.php`
- [Backup operations](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/backup.php): `includes/backup.php`
- [Scheduled backups](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/scheduled_backup.php): `includes/scheduled_backup.php`
- [Supplier categories](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/supplier_categories.php): `includes/supplier_categories.php`
- [Database access](https://github.com/haldenniguidula/sharonstore3.0/blob/main/includes/db.php): `includes/db.php`

### Persistence

- **MySQL database**

### Other components

- **Store user**

## Connections

- Store user → Sign in: signs in (evidence: `index.php`)
- Sign in → Dashboard: redirects admin (evidence: `index.php`)
- Sign in → Point of sale: redirects cashier (evidence: `index.php`)
- Sign in → Database access: loads database (evidence: `index.php`)
- Session and access → Database access: verifies session (evidence: `includes/auth_check.php`)
- Dashboard → Session and access: checks access (evidence: `dashboard.php`)
- Point of sale → Session and access: checks access (evidence: `pos.php`)
- Point of sale → Shift modals: renders (evidence: `pos.php`)
- Inventory management → Session and access: checks access (evidence: `inventory.php`)
- Inventory management → Inventory API: fetches inventory (evidence: `inventory.php`)
- Inventory API → Database access: queries inventory (evidence: `api/inventory.php`)
- Inventory API → Session and access: checks access (evidence: `api/inventory.php`)
- Inventory API → Stock helpers: uses stock helpers (evidence: `api/inventory.php`)
- Shift management → Session and access: checks access (evidence: `shifts.php`)
- Shift management → Database access: queries shifts (evidence: `shifts.php`)
- Supplier management → Supplier categories: uses categories (evidence: `suppliers.php`)
- Suppliers API → Supplier categories: uses categories (evidence: `api/suppliers.php`)
- Suppliers API → Database access: queries suppliers (evidence: `api/suppliers.php`)
- Reports API → Sales report helpers: uses report helpers (evidence: `api/reports.php`)
- Forecasting API → Forecast history: uses history (evidence: `api/forecasting.php`)
- Backup API → Backup operations: uses backup operations (evidence: `api/backup.php`)
- Backup API → Database access: accesses database (evidence: `api/backup.php`)
- Backup operations → Database access: exports database (evidence: `includes/backup.php`)
- Scheduled backups → Backup operations: runs backups (evidence: `includes/scheduled_backup.php`)
- Audit logging → Database access: writes audit logs (evidence: `includes/audit.php`)
- Accounts API → Session and access: checks access (evidence: `api/accounts.php`)
- Accounts API → Database access: queries accounts (evidence: `api/accounts.php`)
- Accounts API → Audit logging: records actions (evidence: `api/accounts.php`)
- Transactions API → Session and access: checks access (evidence: `api/transactions.php`)
- Transactions API → Database access: queries transactions (evidence: `api/transactions.php`)
- Transactions API → Audit logging: records actions (evidence: `api/transactions.php`)
- Shifts API → Session and access: checks access (evidence: `api/shifts.php`)
- Shifts API → Database access: queries shifts (evidence: `api/shifts.php`)
- Audit logs API → Database access: reads audit logs (evidence: `api/audit_logs.php`)
- Database access → MySQL database: connects to (evidence: `includes/db.php`)
