# garbita1712-ops/garbita-portfolio architecture

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

- Interactive diagram: https://gitdiagram.com/garbita1712-ops/garbita-portfolio
- Repository: https://github.com/garbita1712-ops/garbita-portfolio

## Overview

This repository is a single-page developer portfolio built with Next.js. A visitor reaches the home route, whose page coordinates a preloader and renders the portfolio sections; the preloader’s completion callback reveals the page. The visible content covers the introduction, biography, selected work, interactive code terminal, skills, achievements, and contact. Project cards open a detail modal, and the navigation and work sections link to external profiles or repositories. The README is still the generic Next.js starter; the active page and sampled components provide the product evidence, while unsampled section behavior is not inferred.

Main entry points: [`src/app/page.tsx`](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/page.tsx) (Home page), [`src/components/CleanWork.tsx`](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanWork.tsx) (Featured work), [`src/components/CleanNavbar.tsx`](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanNavbar.tsx) (Navigation), [`src/app/layout.tsx`](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/layout.tsx) (Root layout)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App shell"]
  node_layout["Root layout<br/>[layout.tsx]"]
  node_home["Home page<br/>[page.tsx]"]
  node_preloader["Preloader<br/>[Preloader.tsx]"]
end

subgraph group_profile["Profile content"]
  node_hero["Introduction<br/>[CleanHero.tsx]"]
  node_ticker["Tech marquee<br/>[TechMarquee.tsx]"]
  node_about["Biography<br/>[CleanAbout.tsx]"]
  node_achievements["Achievements"]
end

subgraph group_work["Work and skills"]
  node_projects["Featured work<br/>[CleanWork.tsx]"]
  node_project_modal["Project details<br/>[ProjectModal.tsx]"]
  node_tech_logos["Technology icons<br/>[TechLogos.tsx]"]
  node_terminal["Code terminal<br/>[CodeShowcase.tsx]"]
  node_skills["Skills<br/>[CleanSkills.tsx]"]
end

subgraph group_engagement["Navigation and contact"]
  node_navbar["Navigation<br/>[CleanNavbar.tsx]"]
  node_contact["Contact<br/>[NivoraContact.tsx]"]
  node_footer["Footer<br/>[NivoraFooter.tsx]"]
end

node_visitor(("Visitor"))
node_github(("GitHub"))
node_linkedin(("LinkedIn"))
node_resume(("Resume host"))
node_repositories(("GitHub repositories"))

node_visitor -->|"requests page"| node_layout
node_layout -->|"renders route"| node_home
node_home -->|"renders; awaits finish"| node_preloader
node_preloader -->|"signals completion"| node_home
node_home -->|"renders"| node_navbar
node_home -->|"renders"| node_hero
node_home -->|"renders"| node_ticker
node_home -->|"renders"| node_about
node_home -->|"renders"| node_projects
node_home -->|"renders"| node_terminal
node_home -->|"renders"| node_skills
node_home -->|"renders"| node_achievements
node_home -->|"renders"| node_contact
node_home -->|"renders"| node_footer
node_projects -->|"opens details"| node_project_modal
node_projects -->|"gets icons"| node_tech_logos
node_navbar -.->|"links profile"| node_github
node_navbar -.->|"links profile"| node_linkedin
node_navbar -.->|"opens resume"| node_resume
node_projects -.->|"links repositories"| node_repositories

click node_layout "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/layout.tsx"
click node_home "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/page.tsx"
click node_preloader "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/Preloader.tsx"
click node_navbar "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanNavbar.tsx"
click node_hero "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanHero.tsx"
click node_ticker "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/TechMarquee.tsx"
click node_about "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanAbout.tsx"
click node_projects "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanWork.tsx"
click node_project_modal "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/ProjectModal.tsx"
click node_tech_logos "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/TechLogos.tsx"
click node_terminal "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CodeShowcase.tsx"
click node_skills "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanSkills.tsx"
click node_achievements "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/AchievementsTimeline.tsx"
click node_contact "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/NivoraContact.tsx"
click node_footer "https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/NivoraFooter.tsx"

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,node_preloader toneBlue
class node_hero,node_ticker,node_about,node_achievements toneAmber
class node_projects,node_project_modal,node_tech_logos,node_terminal,node_skills toneMint
class node_navbar,node_contact,node_footer toneRose
class node_visitor,node_github,node_linkedin,node_resume,node_repositories toneIndigo
```

## Components

### App shell

- [Root layout](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/layout.tsx): `src/app/layout.tsx`
- [Home page](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/app/page.tsx): `src/app/page.tsx`
- [Preloader](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/Preloader.tsx): `src/components/Preloader.tsx`

### Profile content

- [Introduction](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanHero.tsx): `src/components/CleanHero.tsx`
- [Tech marquee](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/TechMarquee.tsx): `src/components/TechMarquee.tsx`
- [Biography](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanAbout.tsx): `src/components/CleanAbout.tsx`
- [Achievements](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/AchievementsTimeline.tsx): `src/components/AchievementsTimeline.tsx`

### Work and skills

- [Featured work](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanWork.tsx): `src/components/CleanWork.tsx`
- [Project details](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/ProjectModal.tsx): `src/components/ProjectModal.tsx`
- [Technology icons](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/TechLogos.tsx): `src/components/TechLogos.tsx`
- [Code terminal](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CodeShowcase.tsx): `src/components/CodeShowcase.tsx`
- [Skills](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanSkills.tsx): `src/components/CleanSkills.tsx`

### Navigation and contact

- [Navigation](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/CleanNavbar.tsx): `src/components/CleanNavbar.tsx`
- [Contact](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/NivoraContact.tsx): `src/components/NivoraContact.tsx`
- [Footer](https://github.com/garbita1712-ops/garbita-portfolio/blob/main/src/components/NivoraFooter.tsx): `src/components/NivoraFooter.tsx`

### Other components

- **Visitor**
- **GitHub**
- **LinkedIn**
- **Resume host**
- **GitHub repositories**

## Connections

- Visitor → Root layout: requests page
- Root layout → Home page: renders route
- Home page → Preloader: renders; awaits finish
- Preloader → Home page: signals completion
- Home page → Navigation: renders
- Home page → Introduction: renders
- Home page → Tech marquee: renders
- Home page → Biography: renders
- Home page → Featured work: renders
- Home page → Code terminal: renders
- Home page → Skills: renders
- Home page → Achievements: renders
- Home page → Contact: renders
- Home page → Footer: renders
- Featured work → Project details: opens details
- Featured work → Technology icons: gets icons
- Navigation → GitHub: links profile
- Navigation → LinkedIn: links profile
- Navigation → Resume host: opens resume
- Featured work → GitHub repositories: links repositories
