# bilalbutt/resume architecture

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

## Overview

This is a PHP-generated, data-driven personal résumé. A visitor requests the page; the entry point loads configuration and helpers, then assembles sidebar and main-column sections for profile, work history, calculated experience, education, and certificates. Content arrays supply résumé details, while configuration chooses presentation options such as randomized theme, background, and portrait. The README also documents language, skills, social links, animations, and other sections. Some data-to-renderer wiring is dynamic and not shown in the excerpts, so those relationships are left unverified.

Main entry points: [`index.php`](https://github.com/bilalbutt/resume/blob/main/index.php) (Page entry), [`defines.php`](https://github.com/bilalbutt/resume/blob/main/defines.php) (Configuration), [`data/bio.php`](https://github.com/bilalbutt/resume/blob/main/data/bio.php) (Bio and profile data), [`data/skills.php`](https://github.com/bilalbutt/resume/blob/main/data/skills.php) (Skills data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Page assembly"]
  node_page["Page entry<br/>[index.php]"]
  node_config["Configuration<br/>[defines.php]"]
  node_helpers["Rendering helpers<br/>[functions.php]"]
end

subgraph group_content["Résumé content"]
  node_bio_data["Bio and profile data<br/>[bio.php]"]
  node_skills_data["Skills data<br/>[skills.php]"]
  node_worked_with_data["Worked-with data<br/>[work_with.php]"]
  node_education_data["Education data<br/>[education.php]"]
  node_job_data["Job history data<br/>[job_details.php]"]
  node_cert_data["Certificate data<br/>[certificates.php]"]
end

subgraph group_render["Résumé sections"]
  node_identity["Identity sidebar<br/>[left_top.php]"]
  node_summary["Summary sidebar<br/>[left_summary.php]"]
  node_skills["Skills sidebar<br/>[left_skills.php]"]
  node_worked_with["Worked-with sidebar<br/>[left_work_with.php]"]
  node_languages["Language sidebar<br/>[left_language.php]"]
  node_social["Social sidebar<br/>[left_social.php]"]
  node_profile["Profile statement<br/>[profile.php]"]
  node_experience["Work experience"]
  node_total_work["Experience totals<br/>[total_work.php]"]
  node_education["Education section<br/>[education.php]"]
  node_certificates["Certificates section<br/>[certificates.php]"]
  node_footer["Footer<br/>[footer.php]"]
end

subgraph group_client["Browser presentation"]
  node_browser_js["Page interactions<br/>[functions.js]"]
  node_animation_js["Animation library<br/>[wow.js]"]
end

node_visitor(("Visitor"))

node_visitor -->|"requests"| node_page
node_page -->|"loads"| node_config
node_page -->|"loads"| node_helpers
node_config -->|"loads"| node_bio_data
node_config -->|"loads"| node_skills_data
node_config -->|"loads"| node_worked_with_data
node_config -->|"loads"| node_education_data
node_config -->|"loads"| node_job_data
node_config -->|"loads"| node_cert_data
node_page -->|"includes"| node_identity
node_page -->|"includes"| node_summary
node_page -->|"includes"| node_skills
node_page -->|"includes"| node_worked_with
node_page -->|"includes"| node_languages
node_page -->|"includes"| node_social
node_page -->|"includes"| node_profile
node_page -->|"includes"| node_experience
node_page -->|"includes"| node_total_work
node_page -->|"includes"| node_education
node_page -->|"includes"| node_certificates
node_page -->|"includes"| node_footer
node_page -->|"loads"| node_browser_js
node_page -.->|"loads optionally"| node_animation_js
node_bio_data -.->|"supplies content"| node_identity
node_job_data -.->|"supplies content"| node_experience
node_education_data -.->|"supplies content"| node_education
node_cert_data -.->|"supplies content"| node_certificates
node_skills_data -.->|"supplies content"| node_skills
node_worked_with_data -.->|"supplies content"| node_worked_with

click node_page "https://github.com/bilalbutt/resume/blob/main/index.php"
click node_config "https://github.com/bilalbutt/resume/blob/main/defines.php"
click node_helpers "https://github.com/bilalbutt/resume/blob/main/functions.php"
click node_bio_data "https://github.com/bilalbutt/resume/blob/main/data/bio.php"
click node_skills_data "https://github.com/bilalbutt/resume/blob/main/data/skills.php"
click node_worked_with_data "https://github.com/bilalbutt/resume/blob/main/data/work_with.php"
click node_education_data "https://github.com/bilalbutt/resume/blob/main/data/education.php"
click node_job_data "https://github.com/bilalbutt/resume/blob/main/data/job_details.php"
click node_cert_data "https://github.com/bilalbutt/resume/blob/main/data/certificates.php"
click node_identity "https://github.com/bilalbutt/resume/blob/main/sidebar/left_top.php"
click node_summary "https://github.com/bilalbutt/resume/blob/main/sidebar/left_summary.php"
click node_skills "https://github.com/bilalbutt/resume/blob/main/sidebar/left_skills.php"
click node_worked_with "https://github.com/bilalbutt/resume/blob/main/sidebar/left_work_with.php"
click node_languages "https://github.com/bilalbutt/resume/blob/main/sidebar/left_language.php"
click node_social "https://github.com/bilalbutt/resume/blob/main/sidebar/left_social.php"
click node_profile "https://github.com/bilalbutt/resume/blob/main/profile.php"
click node_experience "https://github.com/bilalbutt/resume/blob/main/work_experience.php"
click node_total_work "https://github.com/bilalbutt/resume/blob/main/total_work.php"
click node_education "https://github.com/bilalbutt/resume/blob/main/education.php"
click node_certificates "https://github.com/bilalbutt/resume/blob/main/certificates.php"
click node_footer "https://github.com/bilalbutt/resume/blob/main/footer.php"
click node_browser_js "https://github.com/bilalbutt/resume/blob/main/js/functions.js"
click node_animation_js "https://github.com/bilalbutt/resume/blob/main/js/wow.js"

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_page,node_config,node_helpers toneBlue
class node_bio_data,node_skills_data,node_worked_with_data,node_education_data,node_job_data,node_cert_data toneAmber
class node_identity,node_summary,node_skills,node_worked_with,node_languages,node_social,node_profile,node_experience,node_total_work,node_education,node_certificates,node_footer toneMint
class node_browser_js,node_animation_js toneRose
class node_visitor toneIndigo
```

## Components

### Page assembly

- [Page entry](https://github.com/bilalbutt/resume/blob/main/index.php): `index.php`
- [Configuration](https://github.com/bilalbutt/resume/blob/main/defines.php): `defines.php`
- [Rendering helpers](https://github.com/bilalbutt/resume/blob/main/functions.php): `functions.php`

### Résumé content

- [Bio and profile data](https://github.com/bilalbutt/resume/blob/main/data/bio.php): `data/bio.php`
- [Skills data](https://github.com/bilalbutt/resume/blob/main/data/skills.php): `data/skills.php`
- [Worked-with data](https://github.com/bilalbutt/resume/blob/main/data/work_with.php): `data/work_with.php`
- [Education data](https://github.com/bilalbutt/resume/blob/main/data/education.php): `data/education.php`
- [Job history data](https://github.com/bilalbutt/resume/blob/main/data/job_details.php): `data/job_details.php`
- [Certificate data](https://github.com/bilalbutt/resume/blob/main/data/certificates.php): `data/certificates.php`

### Résumé sections

- [Identity sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_top.php): `sidebar/left_top.php`
- [Summary sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_summary.php): `sidebar/left_summary.php`
- [Skills sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_skills.php): `sidebar/left_skills.php`
- [Worked-with sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_work_with.php): `sidebar/left_work_with.php`
- [Language sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_language.php): `sidebar/left_language.php`
- [Social sidebar](https://github.com/bilalbutt/resume/blob/main/sidebar/left_social.php): `sidebar/left_social.php`
- [Profile statement](https://github.com/bilalbutt/resume/blob/main/profile.php): `profile.php`
- [Work experience](https://github.com/bilalbutt/resume/blob/main/work_experience.php): `work_experience.php`
- [Experience totals](https://github.com/bilalbutt/resume/blob/main/total_work.php): `total_work.php`
- [Education section](https://github.com/bilalbutt/resume/blob/main/education.php): `education.php`
- [Certificates section](https://github.com/bilalbutt/resume/blob/main/certificates.php): `certificates.php`
- [Footer](https://github.com/bilalbutt/resume/blob/main/footer.php): `footer.php`

### Browser presentation

- [Page interactions](https://github.com/bilalbutt/resume/blob/main/js/functions.js): `js/functions.js`
- [Animation library](https://github.com/bilalbutt/resume/blob/main/js/wow.js): `js/wow.js`

### Other components

- **Visitor**

## Connections

- Visitor → Page entry: requests (evidence: `README.md`)
- Page entry → Configuration: loads (evidence: `index.php`)
- Page entry → Rendering helpers: loads (evidence: `index.php`)
- Configuration → Bio and profile data: loads (evidence: `defines.php`)
- Configuration → Skills data: loads (evidence: `defines.php`)
- Configuration → Worked-with data: loads (evidence: `defines.php`)
- Configuration → Education data: loads (evidence: `defines.php`)
- Configuration → Job history data: loads (evidence: `defines.php`)
- Configuration → Certificate data: loads (evidence: `defines.php`)
- Page entry → Identity sidebar: includes (evidence: `index.php`)
- Page entry → Summary sidebar: includes (evidence: `index.php`)
- Page entry → Skills sidebar: includes (evidence: `index.php`)
- Page entry → Worked-with sidebar: includes (evidence: `index.php`)
- Page entry → Language sidebar: includes (evidence: `index.php`)
- Page entry → Social sidebar: includes (evidence: `index.php`)
- Page entry → Profile statement: includes (evidence: `index.php`)
- Page entry → Work experience: includes (evidence: `index.php`)
- Page entry → Experience totals: includes (evidence: `index.php`)
- Page entry → Education section: includes (evidence: `index.php`)
- Page entry → Certificates section: includes (evidence: `index.php`)
- Page entry → Footer: includes (evidence: `index.php`)
- Page entry → Page interactions: loads (evidence: `index.php`)
- Page entry → Animation library: loads optionally (evidence: `index.php`)
- Bio and profile data → Identity sidebar: supplies content
- Job history data → Work experience: supplies content
- Education data → Education section: supplies content
- Certificate data → Certificates section: supplies content
- Skills data → Skills sidebar: supplies content
- Worked-with data → Worked-with sidebar: supplies content
