# tharunsai01/tharun-portfolio architecture

> Architecture diagram of the GitHub repository tharunsai01/tharun-portfolio, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tharunsai01/tharun-portfolio
- Repository: https://github.com/tharunsai01/tharun-portfolio

## Overview

This is a single-page cybersecurity portfolio. Visitors enter through the home page, navigate its profile and work sections, and can follow contact links or view/download the resume. The page also presents skills, certifications, and leadership experience as separate portfolio stages. The sampled page and layout establish composition and shared wrappers; the README documents the major sections, while several section implementations were not sampled, so their internal behavior and extra wiring are omitted.

Main entry points: [`src/app/page.tsx`](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/page.tsx) (Home Page), [`src/components/Navbar.tsx`](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Navbar.tsx) (Navigation), [`src/app/layout.tsx`](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/layout.tsx) (Root Layout), [`src/components/sections/Hero.tsx`](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Hero.tsx) (Hero Profile)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Page Shell"]
  node_layout["Root Layout<br/>[layout.tsx]"]
  node_home["Home Page<br/>[page.tsx]"]
end

subgraph group_portfolio["Portfolio Sections"]
  node_hero["Hero Profile<br/>[Hero.tsx]"]
  node_about["About<br/>[About.tsx]"]
  node_skills["Skills<br/>[Skills.tsx]"]
  node_projects["Projects<br/>[Projects.tsx]"]
  node_certs["Certifications<br/>[Certificates.tsx]"]
  node_leadership["Leadership<br/>[Leadership.tsx]"]
  node_contact["Contact<br/>[Contact.tsx]"]
  node_resume["Resume PDF<br/>[resume.pdf]"]
end

subgraph group_presentation["Shared Presentation"]
  node_nav["Navigation<br/>[Navbar.tsx]"]
  node_footer["Footer<br/>[Footer.tsx]"]
  node_pagewrap["Page Wrapper<br/>[PageWrapper.tsx]"]
  node_smooth["Smooth Scrolling"]
  node_cursor["Custom Cursor<br/>[CustomCursor.tsx]"]
  node_particles["Particle Background"]
  node_preloader["Preloader<br/>[Preloader.tsx]"]
end

node_visitor(("Visitor"))
node_external(("External Profile Links"))

node_visitor -->|"opens site"| node_layout
node_layout -->|"wraps content"| node_smooth
node_layout -->|"renders"| node_cursor
node_layout -->|"wraps children"| node_pagewrap
node_pagewrap -->|"renders page"| node_home
node_home -->|"renders"| node_nav
node_home -->|"renders"| node_particles
node_home -->|"renders"| node_hero
node_home -->|"renders"| node_about
node_home -->|"renders"| node_skills
node_home -->|"renders"| node_projects
node_home -->|"renders"| node_certs
node_home -->|"renders"| node_leadership
node_home -->|"renders"| node_contact
node_home -->|"renders"| node_footer
node_nav -->|"anchors to"| node_hero
node_nav -->|"anchors to"| node_about
node_nav -->|"anchors to"| node_skills
node_nav -->|"anchors to"| node_projects
node_nav -->|"anchors to"| node_certs
node_nav -->|"anchors to"| node_leadership
node_nav -->|"anchors to"| node_contact
node_nav -->|"links to"| node_resume
node_hero -->|"links to profiles"| node_external
node_contact -->|"offers contact links"| node_external
node_visitor -->|"views work"| node_projects
node_visitor -->|"views credentials"| node_certs

click node_layout "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/layout.tsx"
click node_home "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/page.tsx"
click node_nav "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Navbar.tsx"
click node_hero "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Hero.tsx"
click node_about "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/About.tsx"
click node_skills "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Skills.tsx"
click node_projects "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Projects.tsx"
click node_certs "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Certificates.tsx"
click node_leadership "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Leadership.tsx"
click node_contact "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Contact.tsx"
click node_footer "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Footer.tsx"
click node_pagewrap "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/PageWrapper.tsx"
click node_smooth "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/SmoothScrolling.tsx"
click node_cursor "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/CustomCursor.tsx"
click node_particles "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/ParticleNetworkBackground.tsx"
click node_preloader "https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Preloader.tsx"
click node_resume "https://github.com/tharunsai01/tharun-portfolio/blob/main/public/resume.pdf"

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_layout,node_home toneBlue
class node_hero,node_about,node_skills,node_projects,node_certs,node_leadership,node_contact,node_resume toneAmber
class node_nav,node_footer,node_pagewrap,node_smooth,node_cursor,node_particles,node_preloader toneMint
class node_visitor,node_external toneIndigo
```

## Components

### Page Shell

- [Root Layout](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/layout.tsx): `src/app/layout.tsx`
- [Home Page](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/app/page.tsx): `src/app/page.tsx`

### Portfolio Sections

- [Hero Profile](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Hero.tsx): `src/components/sections/Hero.tsx`
- [About](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/About.tsx): `src/components/sections/About.tsx`
- [Skills](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Skills.tsx): `src/components/sections/Skills.tsx`
- [Projects](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Projects.tsx): `src/components/sections/Projects.tsx`
- [Certifications](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Certificates.tsx): `src/components/sections/Certificates.tsx`
- [Leadership](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Leadership.tsx): `src/components/sections/Leadership.tsx`
- [Contact](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/sections/Contact.tsx): `src/components/sections/Contact.tsx`
- [Resume PDF](https://github.com/tharunsai01/tharun-portfolio/blob/main/public/resume.pdf): `public/resume.pdf`

### Shared Presentation

- [Navigation](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Navbar.tsx): `src/components/Navbar.tsx`
- [Footer](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Footer.tsx): `src/components/Footer.tsx`
- [Page Wrapper](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/PageWrapper.tsx): `src/components/PageWrapper.tsx`
- [Smooth Scrolling](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/SmoothScrolling.tsx): `src/components/SmoothScrolling.tsx`
- [Custom Cursor](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/CustomCursor.tsx): `src/components/CustomCursor.tsx`
- [Particle Background](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/ParticleNetworkBackground.tsx): `src/components/ParticleNetworkBackground.tsx`
- [Preloader](https://github.com/tharunsai01/tharun-portfolio/blob/main/src/components/Preloader.tsx): `src/components/Preloader.tsx`

### Other components

- **Visitor**
- **External Profile Links**

## Connections

- Visitor → Root Layout: opens site
- Root Layout → Smooth Scrolling: wraps content
- Root Layout → Custom Cursor: renders
- Root Layout → Page Wrapper: wraps children
- Page Wrapper → Home Page: renders page
- Home Page → Navigation: renders
- Home Page → Particle Background: renders
- Home Page → Hero Profile: renders
- Home Page → About: renders
- Home Page → Skills: renders
- Home Page → Projects: renders
- Home Page → Certifications: renders
- Home Page → Leadership: renders
- Home Page → Contact: renders
- Home Page → Footer: renders
- Navigation → Hero Profile: anchors to
- Navigation → About: anchors to
- Navigation → Skills: anchors to
- Navigation → Projects: anchors to
- Navigation → Certifications: anchors to
- Navigation → Leadership: anchors to
- Navigation → Contact: anchors to
- Navigation → Resume PDF: links to
- Hero Profile → External Profile Links: links to profiles
- Contact → External Profile Links: offers contact links
- Visitor → Projects: views work
- Visitor → Certifications: views credentials
