Overview
The portfolio application follows Angular’s standard project structure with a modern standalone component architecture. The project is built using Angular 19+ with server-side rendering (SSR) support and Tailwind CSS for styling.Directory Tree
Major Directories
/src/app/
The core application directory containing all Angular components, configuration, and routing files.
Key files:
app.ts- Root application componentapp.config.ts- Application configuration and providersapp.routes.ts- Client-side routing configurationapp.routes.server.ts- Server-side rendering routes
/src/app/components/
Contains all standalone UI components. Each component follows a consistent structure with four files:
.ts- Component TypeScript class.html- Component template.css- Component styles.spec.ts- Unit tests
- header - Navigation and branding
- hero - Landing section
- about - About me section
- projects - Portfolio projects showcase
- contact - Contact form and information
- footer - Footer with links and copyright
/public/
Static assets like images, fonts, and downloadable files (e.g., CV/resume).
Configuration Files
angular.json
The Angular workspace configuration file that defines build, serve, and test options.- Uses
@angular/build:applicationbuilder - SSR enabled with
outputMode: "server" - Entry points:
main.ts(browser),main.server.ts(server) - Budget limits: 500kB warning, 1MB error for initial bundle
tsconfig.json
TypeScript compiler configuration with strict mode enabled.- Strict mode enabled for type safety
- ES2022 target for modern JavaScript features
- Strict Angular compiler options
tailwind.config.js
Tailwind CSS configuration with custom theme and dark mode support.- Class-based dark mode
- Custom primary color:
#1173d4 - Custom background colors for light/dark themes
- Inter font family
- Tailwind plugins: forms and container queries
Entry Points
Browser Entry (src/main.ts)
Bootstraps the Angular application in the browser.
Server Entry (src/main.server.ts)
Bootstraps the application for server-side rendering.
SSR Server (src/server.ts)
Express server configuration for handling SSR requests.
Build Output
The build process generates:- Browser bundle - Client-side JavaScript and assets
- Server bundle - Node.js server application for SSR
- Prerendered HTML - Static HTML files for all routes
The application uses Angular’s new
@angular/build:application builder which provides improved build performance and better optimization.