How vishnu-kumar2501/vk-portfolio works
Purpose
VkPortfolio is an Angular 12 single-page portfolio site. Its visible content is organized as reusable layout sections: introduction, about, skills, experience, contact, and a header navigation.
Runtime and Entry Points
The browser application starts at src/main.ts, which bootstraps the root Angular module in src/app/app.module.ts. The host document is src/index.html; global styling is in src/styles.scss. Angular CLI configuration lives in angular.json.
A separate Node entry point, server.js, is present and likely supports serving deployed build output; its exact server behavior is not represented in the supplied tree.
Application Shell
src/app/app.component.ts is the root component, with its page composition in src/app/app.component.html and root-level styles in src/app/app.component.scss. This shell is the boundary between Angular bootstrap/module wiring and the portfolio UI.
Routing Boundary
src/app/app-routing.module.ts defines the application routing layer. It is the intended navigation boundary for URL-driven views, while the header navigation component provides the UI-facing navigation surface:
• src/app/app-routing.module.ts
• src/layout/header-nav/header-nav.component.ts
• src/layout/header-nav/header-nav.component.html
Feature/Layout Module
src/layout/layout.module.ts groups the portfolio presentation components separately from the root app module. This is the principal feature boundary: AppModule imports/composes application capabilities, while LayoutModule owns section-level UI.
Portfolio Content Sections
The main user-facing content is split into independently styled Angular components:
• Intro: src/layout/intro-comp/intro-comp.component.ts, src/layout/intro-comp/intro-comp.component.html
• About: src/layout/about-comp/about-comp.component.ts, src/layout/about-comp/about-comp.component.html
• Skills: src/layout/skills-comp/skills-comp.component.ts, src/layout/skills-comp/skills-comp.component.html
• Experience: src/layout/experience-comp/experience-comp.component.ts, src/layout/experience-comp/experience-comp.component.html
• Contact: src/layout/contact-comp/contact-comp.component.ts, src/layout/contact-comp/contact-comp.component.html
Each section has co-located SCSS, making component templates and styles the primary presentation/data-content boundary. No services, API clients, state stores, or backend integration layers appear in the tree, so content is likely static or component-local.
Build, Environments, and Assets
Angular CLI compiles the TypeScript SPA for browser deployment. Environment substitution is represented by src/environments/environment.ts and src/environments/environment.prod.ts. Static browser assets are served from src/assets, including favicon/web-manifest resources under src/assets/favicon.
The material runtime stack is Angular 12.1.3, TypeScript, Angular CLI build tooling, and Karma for unit-test execution. No external cloud services, databases, or third-party APIs are evidenced by the supplied files.
Main entry points: app.component.ts Application Shell · angular.json Angular CLI Build · app.module.ts App Module · main.ts Angular Bootstrap
Components 17
Browser SPA
- Host Document
src/index.html - Angular Bootstrap
src/main.ts - App Module
src/app/app.module.ts - Application Shell · Composes the portfolio page UI.
src/app/app.component.ts - Routing · URL navigation boundary.
src/app/app-routing.module.ts - Global Styles
src/styles.scss
Portfolio Layout
- Layout Module · Owns section-level presentation components.
src/layout/layout.module.ts - Header Navigation · UI-facing navigation surface.
src/layout/header-nav/header-nav.component.ts - Introduction
src/layout/intro-comp/intro-comp.component.ts - About
src/layout/about-comp/about-comp.component.ts - Skills
src/layout/skills-comp/skills-comp.component.ts - Experience
src/layout/experience-comp/experience-comp.component.ts - Contact
src/layout/contact-comp/contact-comp.component.ts
Build & Delivery
- Angular CLI Build · Compiles the TypeScript SPA for browser deployment.
angular.json - Build Environments · Provides development and production substitutions.
src/environments/environment.ts - Static Assets · Includes favicon and web-manifest resources.
src/assets - Node Server · Likely serves deployed build output; behavior is unspecified.
server.js
Connections 17
- Host Document → Angular Bootstrap: loads
- Angular Bootstrap → App Module: bootstraps
- App Module → Application Shell: declares
- App Module → Routing: imports
- App Module → Layout Module: imports
- Application Shell → Header Navigation: composes
- Application Shell → Introduction: composes
- Application Shell → About: composes
- Application Shell → Skills: composes
- Application Shell → Experience: composes
- Application Shell → Contact: composes
- Header Navigation → Routing: navigates via
- Angular CLI Build → Angular Bootstrap: builds
- Angular CLI Build → Build Environments: substitutes
- Angular CLI Build → Static Assets: bundles
- Angular CLI Build → Global Styles: includes
- Node Server → Angular CLI Build: serves build output