# samyam-pradhan/portfolio architecture

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

- Interactive diagram: https://gitdiagram.com/samyam-pradhan/portfolio
- Repository: https://github.com/samyam-pradhan/portfolio

## Overview

This is a personal portfolio website: visitors browse the developer’s introduction, project work and skills, then can view a CV or reach out through contact links. The React entry point renders the page sections; navigation and the hero call-to-action scroll to section targets, while project and contact links lead outward. About.jsx exists but is not rendered by App.jsx. The README gives no additional capability detail; the graph reflects the sampled components.

Main entry points: [`src/App.jsx`](https://github.com/samyam-pradhan/portfolio/blob/main/src/App.jsx) (Page composition), [`src/components/Navbar.jsx`](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Navbar.jsx) (Navigation), [`src/components/Contact.jsx`](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Contact.jsx) (Contact), [`src/components/Projects.jsx`](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Projects.jsx) (Projects)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Page shell"]
  node_entry["React entry<br/>[main.jsx]"]
  node_app["Page composition<br/>[App.jsx]"]
  node_navbar["Navigation<br/>[Navbar.jsx]"]
  node_footer["Footer<br/>[Footer.jsx]"]
end

subgraph group_portfolio["Portfolio content"]
  node_hero["Introduction<br/>[Hero.jsx]"]
  node_projects["Projects<br/>[Projects.jsx]"]
  node_skills["Skills<br/>[Skills.jsx]"]
  node_cv["CV PDF"]
end

subgraph group_outreach["Outreach"]
  node_contact["Contact<br/>[Contact.jsx]"]
end

node_visitor(("Visitor"))
node_code_hosts(("Code hosts"))
node_contact_channels(("Contact channels"))

node_visitor -->|"opens site"| node_entry
node_entry -->|"renders"| node_app
node_app -->|"renders"| node_navbar
node_app -->|"renders"| node_hero
node_app -->|"renders"| node_projects
node_app -->|"renders"| node_skills
node_app -->|"renders"| node_contact
node_app -->|"renders"| node_footer
node_visitor -->|"uses navigation"| node_navbar
node_navbar -->|"scrolls to"| node_projects
node_navbar -->|"scrolls to"| node_skills
node_navbar -->|"scrolls to"| node_contact
node_hero -->|"scrolls to"| node_contact
node_hero -->|"links to"| node_cv
node_visitor -->|"browses"| node_projects
node_projects -->|"links to code"| node_code_hosts
node_visitor -->|"browses"| node_contact
node_contact -->|"links to"| node_contact_channels

click node_entry "https://github.com/samyam-pradhan/portfolio/blob/main/src/main.jsx"
click node_app "https://github.com/samyam-pradhan/portfolio/blob/main/src/App.jsx"
click node_navbar "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Navbar.jsx"
click node_hero "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Hero.jsx"
click node_projects "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Projects.jsx"
click node_skills "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Skills.jsx"
click node_contact "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Contact.jsx"
click node_footer "https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Footer.jsx"
click node_cv "https://github.com/samyam-pradhan/portfolio/blob/main/public/PradhanSamyamCV.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_entry,node_app,node_navbar,node_footer toneBlue
class node_hero,node_projects,node_skills,node_cv toneAmber
class node_contact toneMint
class node_visitor,node_code_hosts,node_contact_channels toneIndigo
```

## Components

### Page shell

- [React entry](https://github.com/samyam-pradhan/portfolio/blob/main/src/main.jsx): `src/main.jsx`
- [Page composition](https://github.com/samyam-pradhan/portfolio/blob/main/src/App.jsx): `src/App.jsx`
- [Navigation](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Navbar.jsx): `src/components/Navbar.jsx`
- [Footer](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Footer.jsx): `src/components/Footer.jsx`

### Portfolio content

- [Introduction](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Hero.jsx): `src/components/Hero.jsx`
- [Projects](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Projects.jsx): `src/components/Projects.jsx`
- [Skills](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Skills.jsx): `src/components/Skills.jsx`
- [CV PDF](https://github.com/samyam-pradhan/portfolio/blob/main/public/PradhanSamyamCV.pdf): `public/PradhanSamyamCV.pdf`

### Outreach

- [Contact](https://github.com/samyam-pradhan/portfolio/blob/main/src/components/Contact.jsx): `src/components/Contact.jsx`

### Other components

- **Visitor**
- **Code hosts**
- **Contact channels**

## Connections

- Visitor → React entry: opens site
- React entry → Page composition: renders
- Page composition → Navigation: renders
- Page composition → Introduction: renders
- Page composition → Projects: renders
- Page composition → Skills: renders
- Page composition → Contact: renders
- Page composition → Footer: renders
- Visitor → Navigation: uses navigation
- Navigation → Projects: scrolls to
- Navigation → Skills: scrolls to
- Navigation → Contact: scrolls to
- Introduction → Contact: scrolls to
- Introduction → CV PDF: links to
- Visitor → Projects: browses
- Projects → Code hosts: links to code
- Visitor → Contact: browses
- Contact → Contact channels: links to
