# ishmeet01-dotcom/portfolio architecture

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

## Overview

This repository is a personal portfolio website: visitors browse profile, education, skills, experience, projects, and achievements, and can use interactive coursework and computer-architecture tools or submit the contact form. The home-page orchestrator initializes shared navigation and the interactive sections; dedicated pages render additional portfolio content. Assignment and achievement managers provide user-contribution workflows backed by browser storage. The README is empty; relationships below rely on the supplied source excerpts and SOURCE INDEX, so unsampled implementation details are not inferred.

Main entry points: [`src/modules/storage.js`](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/storage.js) (Persistence engine), [`src/pages/home.js`](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/home.js) (Home orchestrator), [`src/pages/projects.js`](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/projects.js) (Projects page), [`src/modules/coaLabEngine.js`](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/coaLabEngine.js) (COA lab engine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_presentation["Pages and navigation"]
  node_home["Home orchestrator<br/>[home.js]"]
  node_projects_page["Projects page<br/>[projects.js]"]
  node_education_page["Education page<br/>[education.js]"]
  node_navigation["Site navigation<br/>[siteNav.js]"]
end

subgraph group_portfolio["Portfolio content"]
  node_profile["Profile data<br/>[profile.js]"]
  node_projects["Project data<br/>[projects.js]"]
  node_experience["Experience data<br/>[experience.js]"]
  node_education["Education data<br/>[education.js]"]
  node_skills["Skills data<br/>[skills.js]"]
  node_assignments_data["Assignment defaults<br/>[assignments.js]"]
  node_achievements_data["Achievement defaults<br/>[achievements.js]"]
  node_certifications["Certification defaults<br/>[certifications.js]"]
  node_gallery["Gallery defaults<br/>[gallery.js]"]
  node_hackathons["Hackathon defaults<br/>[hackathons.js]"]
end

subgraph group_interactive["Interactive features"]
  node_assignments["Assignment manager"]
  node_achievements["Achievements manager"]
  node_coa["COA lab engine<br/>[coaLabEngine.js]"]
  node_converter["Number converter<br/>[coaConverter.js]"]
  node_expression["Expression simulator"]
  node_cpu["CPU cycle simulator"]
  node_contact["Contact form<br/>[contactForm.js]"]
  node_toast["Toast notifications<br/>[toast.js]"]
end

subgraph group_persistence["Browser persistence"]
  node_storage["Persistence engine<br/>[storage.js]"]
  node_browser_store[("Browser storage")]
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_home
node_visitor -->|"browses"| node_projects_page
node_home -->|"initializes"| node_navigation
node_home -->|"initializes"| node_assignments
node_home -->|"initializes"| node_achievements
node_home -->|"initializes"| node_coa
node_home -->|"initializes"| node_contact
node_projects_page -->|"initializes"| node_navigation
node_projects_page -->|"renders"| node_projects
node_projects_page -->|"renders"| node_experience
node_education_page -->|"renders"| node_education
node_navigation -->|"reads"| node_profile
node_navigation -.->|"configures theme"| node_browser_store
node_assignments -->|"saves and reads"| node_storage
node_assignments -->|"notifies"| node_toast
node_achievements -->|"reads and saves"| node_storage
node_achievements -->|"notifies"| node_toast
node_coa -->|"converts numbers"| node_converter
node_coa -->|"processes expressions"| node_expression
node_coa -.->|"runs CPU cycles"| node_cpu
node_contact -->|"reads contact data"| node_profile
node_contact -->|"notifies"| node_toast
node_storage -->|"persists locally"| node_browser_store
node_storage -->|"loads defaults"| node_assignments_data
node_storage -->|"loads defaults"| node_achievements_data
node_storage -->|"loads defaults"| node_certifications
node_storage -->|"loads defaults"| node_gallery
node_storage -->|"loads defaults"| node_hackathons

click node_home "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/home.js"
click node_projects_page "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/projects.js"
click node_education_page "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/education.js"
click node_navigation "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/siteNav.js"
click node_profile "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/profile.js"
click node_projects "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/projects.js"
click node_experience "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/experience.js"
click node_education "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/education.js"
click node_skills "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/skills.js"
click node_assignments_data "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/assignments.js"
click node_achievements_data "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/achievements.js"
click node_certifications "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/certifications.js"
click node_gallery "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/gallery.js"
click node_hackathons "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/hackathons.js"
click node_assignments "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/assignmentManager.js"
click node_achievements "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/achievementsManager.js"
click node_coa "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/coaLabEngine.js"
click node_converter "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/coaConverter.js"
click node_expression "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/expressionSimulator.js"
click node_cpu "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/cpuCycleSimulator.js"
click node_contact "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/contactForm.js"
click node_storage "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/storage.js"
click node_toast "https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/toast.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_home,node_projects_page,node_education_page,node_navigation toneBlue
class node_profile,node_projects,node_experience,node_education,node_skills,node_assignments_data,node_achievements_data,node_certifications,node_gallery,node_hackathons toneAmber
class node_assignments,node_achievements,node_coa,node_converter,node_expression,node_cpu,node_contact,node_toast toneMint
class node_storage,node_browser_store toneRose
class node_visitor toneIndigo
```

## Components

### Pages and navigation

- [Home orchestrator](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/home.js): `src/pages/home.js`
- [Projects page](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/projects.js): `src/pages/projects.js`
- [Education page](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/pages/education.js): `src/pages/education.js`
- [Site navigation](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/siteNav.js): `src/modules/siteNav.js`

### Portfolio content

- [Profile data](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/profile.js): `src/data/profile.js`
- [Project data](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/projects.js): `src/data/projects.js`
- [Experience data](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/experience.js): `src/data/experience.js`
- [Education data](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/education.js): `src/data/education.js`
- [Skills data](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/skills.js): `src/data/skills.js`
- [Assignment defaults](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/assignments.js): `src/data/assignments.js`
- [Achievement defaults](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/achievements.js): `src/data/achievements.js`
- [Certification defaults](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/certifications.js): `src/data/certifications.js`
- [Gallery defaults](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/gallery.js): `src/data/gallery.js`
- [Hackathon defaults](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/data/hackathons.js): `src/data/hackathons.js`

### Interactive features

- [Assignment manager](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/assignmentManager.js): `src/modules/assignmentManager.js`
- [Achievements manager](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/achievementsManager.js): `src/modules/achievementsManager.js`
- [COA lab engine](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/coaLabEngine.js): `src/modules/coaLabEngine.js`
- [Number converter](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/coaConverter.js): `src/modules/coaConverter.js`
- [Expression simulator](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/expressionSimulator.js): `src/modules/expressionSimulator.js`
- [CPU cycle simulator](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/cpuCycleSimulator.js): `src/modules/cpuCycleSimulator.js`
- [Contact form](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/contactForm.js): `src/modules/contactForm.js`
- [Toast notifications](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/toast.js): `src/modules/toast.js`

### Browser persistence

- [Persistence engine](https://github.com/ishmeet01-dotcom/portfolio/blob/main/src/modules/storage.js): `src/modules/storage.js`
- **Browser storage**

### Other components

- **Visitor**

## Connections

- Visitor → Home orchestrator: opens (evidence: `src/pages/home.js`)
- Visitor → Projects page: browses (evidence: `src/pages/projects.js`)
- Home orchestrator → Site navigation: initializes (evidence: `src/pages/home.js`)
- Home orchestrator → Assignment manager: initializes (evidence: `src/pages/home.js`)
- Home orchestrator → Achievements manager: initializes (evidence: `src/pages/home.js`)
- Home orchestrator → COA lab engine: initializes (evidence: `src/pages/home.js`)
- Home orchestrator → Contact form: initializes (evidence: `src/pages/home.js`)
- Projects page → Site navigation: initializes (evidence: `src/pages/projects.js`)
- Projects page → Project data: renders (evidence: `src/pages/projects.js`)
- Projects page → Experience data: renders (evidence: `src/pages/projects.js`)
- Education page → Education data: renders (evidence: `src/pages/education.js`)
- Site navigation → Profile data: reads (evidence: `src/modules/siteNav.js`)
- Site navigation → Browser storage: configures theme (evidence: `src/modules/siteNav.js`)
- Assignment manager → Persistence engine: saves and reads (evidence: `src/modules/assignmentManager.js`)
- Assignment manager → Toast notifications: notifies (evidence: `src/modules/assignmentManager.js`)
- Achievements manager → Persistence engine: reads and saves (evidence: `src/modules/achievementsManager.js`)
- Achievements manager → Toast notifications: notifies (evidence: `src/modules/achievementsManager.js`)
- COA lab engine → Number converter: converts numbers (evidence: `src/modules/coaLabEngine.js`)
- COA lab engine → Expression simulator: processes expressions (evidence: `src/modules/coaLabEngine.js`)
- COA lab engine → CPU cycle simulator: runs CPU cycles (evidence: `src/modules/coaLabEngine.js`)
- Contact form → Profile data: reads contact data (evidence: `src/modules/contactForm.js`)
- Contact form → Toast notifications: notifies (evidence: `src/modules/contactForm.js`)
- Persistence engine → Browser storage: persists locally (evidence: `src/modules/storage.js`)
- Persistence engine → Assignment defaults: loads defaults (evidence: `src/modules/storage.js`)
- Persistence engine → Achievement defaults: loads defaults (evidence: `src/modules/storage.js`)
- Persistence engine → Certification defaults: loads defaults (evidence: `src/modules/storage.js`)
- Persistence engine → Gallery defaults: loads defaults (evidence: `src/modules/storage.js`)
- Persistence engine → Hackathon defaults: loads defaults (evidence: `src/modules/storage.js`)
