# rafalpolak/rafalpolak.github.io architecture

> Architecture diagram of the GitHub repository rafalpolak/rafalpolak.github.io, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rafalpolak/rafalpolak.github.io
- Repository: https://github.com/rafalpolak/rafalpolak.github.io

## Overview

This repository contains a personal portfolio site in two generations: a current Angular application and a legacy AngularJS portfolio. The current user journey boots the app, shows an animated splash screen, then navigates to a dashboard; unmatched routes show a not-found page. The legacy version documents separate about, contact, projects, repository, skills, and blog pages with English and Polish locale files. Source excerpts establish the current routing and bootstrap relationships, but do not show dashboard content or the legacy page templates themselves.

Main entry points: [`rp-portfolio-app/src/app/app.module.ts`](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app.module.ts) (App Module), [`oldPortfolio/lib/js/app/app.js`](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/js/app/app.js) (Legacy App Config), [`rp-portfolio-app/src/app/app-routing.module.ts`](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app-routing.module.ts) (Route Dispatch), [`rp-portfolio-app/src/app/dashboard/dashboard.component.ts`](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/dashboard/dashboard.component.ts) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_current["Current Angular App"]
  node_bootstrap["App Bootstrap<br/>[main.ts]"]
  node_appmodule["App Module<br/>[app.module.ts]"]
  node_routing["Route Dispatch"]
  node_shell["Root Component<br/>[app.component.ts]"]
  node_splash["Splash Screen"]
  node_dashboard["Dashboard"]
  node_fade["Fade Animation<br/>[animations.ts]"]
  node_notfound["Not Found"]
end

subgraph group_legacy["Legacy Portfolio"]
  node_legacyapp["Legacy App Config<br/>[app.js]"]
  node_legacycontroller["Menu Controller<br/>[mainMenuCtrl.js]"]
  node_translate["Static Translation Loader"]
end

subgraph group_content["Portfolio Content"]
  node_pages["Portfolio Pages"]
  node_locales["Locale Files"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens site"| node_bootstrap
node_bootstrap -->|"bootstraps"| node_appmodule
node_bootstrap -->|"reports errors"| node_visitor
node_appmodule -->|"imports"| node_routing
node_appmodule -->|"bootstraps"| node_shell
node_appmodule -->|"declares"| node_dashboard
node_appmodule -->|"declares"| node_splash
node_appmodule -->|"declares"| node_notfound
node_routing -->|"routes to"| node_splash
node_routing -->|"routes to"| node_dashboard
node_routing -->|"fallback route"| node_notfound
node_splash -->|"navigates after delay"| node_dashboard
node_dashboard -->|"uses animation"| node_fade
node_legacyapp -->|"loads module"| node_legacycontroller
node_legacyapp -->|"routes to templates"| node_pages
node_legacyapp -->|"configures loader"| node_translate
node_legacyapp -->|"loads locale files"| node_locales

click node_bootstrap "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/main.ts"
click node_appmodule "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app.module.ts"
click node_routing "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app-routing.module.ts"
click node_shell "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app.component.ts"
click node_splash "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/splash/splash.component.ts"
click node_dashboard "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/dashboard/dashboard.component.ts"
click node_fade "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/animations/animations.ts"
click node_notfound "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/page-not-found/page-not-found.component.ts"
click node_legacyapp "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/js/app/app.js"
click node_legacycontroller "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/js/controllers/mainMenuCtrl.js"
click node_pages "https://github.com/rafalpolak/rafalpolak.github.io/tree/master/oldPortfolio/partials"
click node_locales "https://github.com/rafalpolak/rafalpolak.github.io/tree/master/oldPortfolio/lib/i18n"
click node_translate "https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/vendors/js/angular-translate-loader-static-files.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_bootstrap,node_appmodule,node_routing,node_shell,node_splash,node_dashboard,node_fade,node_notfound toneBlue
class node_legacyapp,node_legacycontroller,node_translate toneAmber
class node_pages,node_locales toneMint
class node_visitor toneIndigo
```

## Components

### Current Angular App

- [App Bootstrap](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/main.ts): `rp-portfolio-app/src/main.ts`
- [App Module](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app.module.ts): `rp-portfolio-app/src/app/app.module.ts`
- [Route Dispatch](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app-routing.module.ts): `rp-portfolio-app/src/app/app-routing.module.ts`
- [Root Component](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/app.component.ts): `rp-portfolio-app/src/app/app.component.ts`
- [Splash Screen](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/splash/splash.component.ts): `rp-portfolio-app/src/app/splash/splash.component.ts`
- [Dashboard](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/dashboard/dashboard.component.ts): `rp-portfolio-app/src/app/dashboard/dashboard.component.ts`
- [Fade Animation](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/animations/animations.ts): `rp-portfolio-app/src/app/animations/animations.ts`
- [Not Found](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/rp-portfolio-app/src/app/page-not-found/page-not-found.component.ts): `rp-portfolio-app/src/app/page-not-found/page-not-found.component.ts`

### Legacy Portfolio

- [Legacy App Config](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/js/app/app.js): `oldPortfolio/lib/js/app/app.js`
- [Menu Controller](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/js/controllers/mainMenuCtrl.js): `oldPortfolio/lib/js/controllers/mainMenuCtrl.js`
- [Static Translation Loader](https://github.com/rafalpolak/rafalpolak.github.io/blob/master/oldPortfolio/lib/vendors/js/angular-translate-loader-static-files.js): `oldPortfolio/lib/vendors/js/angular-translate-loader-static-files.js`

### Portfolio Content

- [Portfolio Pages](https://github.com/rafalpolak/rafalpolak.github.io/tree/master/oldPortfolio/partials): `oldPortfolio/partials`
- [Locale Files](https://github.com/rafalpolak/rafalpolak.github.io/tree/master/oldPortfolio/lib/i18n): `oldPortfolio/lib/i18n`

### Other components

- **Visitor**

## Connections

- Visitor → App Bootstrap: opens site
- App Bootstrap → App Module: bootstraps (evidence: `rp-portfolio-app/src/main.ts`)
- App Bootstrap → Visitor: reports errors (evidence: `rp-portfolio-app/src/main.ts`)
- App Module → Route Dispatch: imports (evidence: `rp-portfolio-app/src/app/app.module.ts`)
- App Module → Root Component: bootstraps (evidence: `rp-portfolio-app/src/app/app.module.ts`)
- App Module → Dashboard: declares (evidence: `rp-portfolio-app/src/app/app.module.ts`)
- App Module → Splash Screen: declares (evidence: `rp-portfolio-app/src/app/app.module.ts`)
- App Module → Not Found: declares (evidence: `rp-portfolio-app/src/app/app.module.ts`)
- Route Dispatch → Splash Screen: routes to (evidence: `rp-portfolio-app/src/app/app-routing.module.ts`)
- Route Dispatch → Dashboard: routes to (evidence: `rp-portfolio-app/src/app/app-routing.module.ts`)
- Route Dispatch → Not Found: fallback route (evidence: `rp-portfolio-app/src/app/app-routing.module.ts`)
- Splash Screen → Dashboard: navigates after delay (evidence: `rp-portfolio-app/src/app/splash/splash.component.ts`)
- Dashboard → Fade Animation: uses animation (evidence: `rp-portfolio-app/src/app/dashboard/dashboard.component.ts`)
- Legacy App Config → Menu Controller: loads module (evidence: `oldPortfolio/lib/js/app/app.js`)
- Legacy App Config → Portfolio Pages: routes to templates (evidence: `oldPortfolio/lib/js/app/app.js`)
- Legacy App Config → Static Translation Loader: configures loader (evidence: `oldPortfolio/lib/js/app/app.js`)
- Legacy App Config → Locale Files: loads locale files (evidence: `oldPortfolio/lib/js/app/app.js`)
