%% Data Ecosystem Diagram for NIPH DSP %% Render with Mermaid (https://mermaid.js.org/) flowchart LR subgraph Clients U1[Public/Authenticated Users] U2[DAC Staff] end subgraph WebTier[PHP + Apache (dsp_app)] UI[Portal UI
Dashboards & Workflows] API[PHP APIs
Uploads & R runners] end subgraph Database[(MySQL 8.0
dsp_db)] DS[(dsps_tbl_datasource)] PERM[(dsps_tbl_datasource_permission)] PEOPLE[(ist_tbl_people & ist_tbl_users)] USAGE[(dsps_tbl_datasource_used)] end subgraph Storage[/Shared Volumes/] FILES[(uploads/datasources)] RSCRIPTS[(r_scripts)] JWS[(uploads/jupyter_workspace)] end subgraph Tooling PMA[phpMyAdmin
dsp_phpmyadmin] JUP[Jupyter (R kernel)
dsp_jupyter] end U1 -->|HTTPS :8082| UI U2 -->|HTTPS :8082| UI U2 -->|Admin Ops| PMA UI --> API API -->|SQL queries| Database PMA -->|SQL admin| Database API -->|File uploads/downloads| FILES API -->|Sync approved files| JWS API -->|Whitelisted scripts| RSCRIPTS JUP -->|Mounts| FILES JUP -->|Mounts| RSCRIPTS JUP -->|Per-user workspace| JWS JUP -->|Notebook insights| U1 Database -->|Metadata feeds| UI Database -->|Permission checks| API Database -->|Audit logs| DAC[DAC Reports] style DAC fill:#f7f9fb,stroke:#93a1c3,stroke-width:1px