# franvaliente24-creator/scim architecture

> Architecture diagram of the GitHub repository franvaliente24-creator/scim, 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/franvaliente24-creator/scim
- Repository: https://github.com/franvaliente24-creator/scim

## Overview

This is a browser-based supply-chain and inventory management system, with a JavaScript frontend and a PHP JSON API backed by MySQL. Users manage assets and warehouse activity, purchasing and suppliers, documents, equipment requests, and administration; dashboards summarize operational data. The sampled clients show direct HTTP calls to API routes, and the API excerpt shows database connection setup. Other major pages are represented from the file tree; their internal flows were not sampled, so uncertain links are omitted.

Main entry points: [`api/index.php`](https://github.com/franvaliente24-creator/scim/blob/main/api/index.php) (JSON API), [`dashboard.js`](https://github.com/franvaliente24-creator/scim/blob/main/dashboard.js) (Operations dashboard), [`inventory.js`](https://github.com/franvaliente24-creator/scim/blob/main/inventory.js) (Asset inventory), [`equipment-requests.js`](https://github.com/franvaliente24-creator/scim/blob/main/equipment-requests.js) (Equipment requests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ops["Operations"]
  node_dashboard["Operations dashboard<br/>[dashboard.js]"]
  node_inventory["Asset inventory<br/>[inventory.js]"]
  node_requests["Equipment requests"]
  node_warehouse["Warehouse operations<br/>[warehousing.js]"]
  node_warehouseqr["Warehouse QR scanning<br/>[warehouse-qr.js]"]
  node_tracking["Asset tracking"]
  node_documents["Document tracking<br/>[documents.js]"]
end

subgraph group_supply["Procurement"]
  node_procurement["Procurement<br/>[procurement.js]"]
  node_orders["Purchase orders<br/>[purchase-orders.js]"]
  node_suppliers["Supplier management<br/>[suppliers.js]"]
end

subgraph group_admin["Identity &amp; Admin"]
  node_users["User administration<br/>[users.js]"]
  node_permissions["Role permissions<br/>[permissions.js]"]
  node_login["Login and MFA<br/>[login.js]"]
  node_mfa["MFA setup<br/>[mfa-setup.js]"]
end

subgraph group_platform["Application Platform"]
  node_api["JSON API<br/>[index.php]"]
  node_db[("MySQL database<br/>[init.sql]")]
end

node_user(("Staff user"))

node_dashboard -->|"fetches summaries"| node_api
node_inventory -->|"manages assets"| node_api
node_requests -->|"manages requests"| node_api
node_warehouse -->|"records scans"| node_api
node_warehouseqr -->|"submits scans"| node_api
node_documents -->|"manages documents"| node_api
node_orders -->|"manages orders"| node_api
node_suppliers -->|"manages suppliers"| node_api
node_users -->|"administers users"| node_api
node_permissions -->|"checks identity"| node_api
node_api -->|"connects to"| node_db
node_user -.->|"views"| node_dashboard
node_tracking -.->|"uses API"| node_api
node_procurement -.->|"uses API"| node_api
node_login -.->|"uses API"| node_api
node_mfa -.->|"uses API"| node_api

click node_dashboard "https://github.com/franvaliente24-creator/scim/blob/main/dashboard.js"
click node_inventory "https://github.com/franvaliente24-creator/scim/blob/main/inventory.js"
click node_requests "https://github.com/franvaliente24-creator/scim/blob/main/equipment-requests.js"
click node_warehouse "https://github.com/franvaliente24-creator/scim/blob/main/warehousing.js"
click node_warehouseqr "https://github.com/franvaliente24-creator/scim/blob/main/warehouse-qr.js"
click node_tracking "https://github.com/franvaliente24-creator/scim/blob/main/warehouse-tracking.js"
click node_documents "https://github.com/franvaliente24-creator/scim/blob/main/documents.js"
click node_procurement "https://github.com/franvaliente24-creator/scim/blob/main/procurement.js"
click node_orders "https://github.com/franvaliente24-creator/scim/blob/main/purchase-orders.js"
click node_suppliers "https://github.com/franvaliente24-creator/scim/blob/main/suppliers.js"
click node_users "https://github.com/franvaliente24-creator/scim/blob/main/users.js"
click node_permissions "https://github.com/franvaliente24-creator/scim/blob/main/permissions.js"
click node_login "https://github.com/franvaliente24-creator/scim/blob/main/login.js"
click node_mfa "https://github.com/franvaliente24-creator/scim/blob/main/mfa-setup.js"
click node_api "https://github.com/franvaliente24-creator/scim/blob/main/api/index.php"
click node_db "https://github.com/franvaliente24-creator/scim/blob/main/init.sql"

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_dashboard,node_inventory,node_requests,node_warehouse,node_warehouseqr,node_tracking,node_documents,node_user toneBlue
class node_procurement,node_orders,node_suppliers toneAmber
class node_users,node_permissions,node_login,node_mfa toneMint
class node_api,node_db toneRose
```

## Components

### Operations

- [Operations dashboard](https://github.com/franvaliente24-creator/scim/blob/main/dashboard.js): `dashboard.js`
- [Asset inventory](https://github.com/franvaliente24-creator/scim/blob/main/inventory.js): `inventory.js`
- [Equipment requests](https://github.com/franvaliente24-creator/scim/blob/main/equipment-requests.js): `equipment-requests.js`
- [Warehouse operations](https://github.com/franvaliente24-creator/scim/blob/main/warehousing.js): `warehousing.js`
- [Warehouse QR scanning](https://github.com/franvaliente24-creator/scim/blob/main/warehouse-qr.js): `warehouse-qr.js`
- [Asset tracking](https://github.com/franvaliente24-creator/scim/blob/main/warehouse-tracking.js): `warehouse-tracking.js`
- [Document tracking](https://github.com/franvaliente24-creator/scim/blob/main/documents.js): `documents.js`

### Procurement

- [Procurement](https://github.com/franvaliente24-creator/scim/blob/main/procurement.js): `procurement.js`
- [Purchase orders](https://github.com/franvaliente24-creator/scim/blob/main/purchase-orders.js): `purchase-orders.js`
- [Supplier management](https://github.com/franvaliente24-creator/scim/blob/main/suppliers.js): `suppliers.js`

### Identity & Admin

- [User administration](https://github.com/franvaliente24-creator/scim/blob/main/users.js): `users.js`
- [Role permissions](https://github.com/franvaliente24-creator/scim/blob/main/permissions.js): `permissions.js`
- [Login and MFA](https://github.com/franvaliente24-creator/scim/blob/main/login.js): `login.js`
- [MFA setup](https://github.com/franvaliente24-creator/scim/blob/main/mfa-setup.js): `mfa-setup.js`

### Application Platform

- [JSON API](https://github.com/franvaliente24-creator/scim/blob/main/api/index.php): `api/index.php`
- [MySQL database](https://github.com/franvaliente24-creator/scim/blob/main/init.sql): `init.sql`

### Other components

- **Staff user**

## Connections

- Operations dashboard → JSON API: fetches summaries (evidence: `dashboard.js`)
- Asset inventory → JSON API: manages assets (evidence: `inventory.js`)
- Equipment requests → JSON API: manages requests (evidence: `equipment-requests.js`)
- Warehouse operations → JSON API: records scans (evidence: `warehousing.js`)
- Warehouse QR scanning → JSON API: submits scans (evidence: `warehouse-qr.js`)
- Document tracking → JSON API: manages documents (evidence: `documents.js`)
- Purchase orders → JSON API: manages orders (evidence: `purchase-orders.js`)
- Supplier management → JSON API: manages suppliers (evidence: `suppliers.js`)
- User administration → JSON API: administers users (evidence: `users.js`)
- Role permissions → JSON API: checks identity (evidence: `permissions.js`)
- JSON API → MySQL database: connects to (evidence: `api/index.php`)
- Staff user → Operations dashboard: views
- Asset tracking → JSON API: uses API
- Procurement → JSON API: uses API
- Login and MFA → JSON API: uses API
- MFA setup → JSON API: uses API
