Skip to content

SamExperience/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Samuele Deriu - Personal Portfolio

A highly optimized Single Page Application (SPA) developed as a professional portfolio. Designed to overcome the performance limitations of standard templates, it serves as a reactive platform to document technical experience, ensuring instant loading times and a premium user experience across all devices.

Angular TypeScript RxJS SCSS Node.js

Live Demo

Portfolio Hero Animation

πŸ“Έ Overview

Projects Section

About and Contact Sections

Project Details UI

## πŸš€ Key Features
  • Blazing Fast Performance: Extensive component and JS chunking for a lightweight main payload. Total elimination of First Contentful Paint delays.
  • Native Multi-language Support: English, Italian, and French localized JSON data, managed via advanced RxJS patterns (switchMap, shareReplay) for instant client-side updates without redundant network calls.
  • Adaptive Theming: Seamless Dark/Light mode toggle that respects OS-level preferences (matchMedia).
  • Automated Media Optimization: Custom asynchronous Node.js pre-build engine (gen-responsive-images.js) using concurrency limits to generate responsive WebP assets in bulk.
  • SEO & Accessibility: Strict semantic HTML structure to overcome classic SPA indexing limitations, complete with ARIA labels.

πŸ—οΈ Architecture

Built with Angular 20 utilizing Standalone Components for high decoupling. The project leverages an end-to-end approach, demonstrating how design patterns (caching strategy, code splitting) transform a standard UI into an enterprise-grade, robust, and maintainable software entity.

Directory Structure Highlights

src/app/
β”œβ”€β”€ components/          # Standalone UI Elements (ThemeToggle, LanguageSelector)
β”œβ”€β”€ services/            # RxJS Business Logic (DataService, ThemeService)
β”œβ”€β”€ models/              # TypeScript interfaces defining the JSON payloads
└── styles/              # Global SCSS tokens and resets

⚑ Performance Verification

Lighthouse Perfect Scores

πŸ’» Development

Prerequisites

  • Node.js (v18+)
  • npm

Installation & Serving

# Install dependencies
npm install

# Start the development server
npm run start

Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Optimizing Images

To generate the responsive WebP images locally:

node dev-scripts/gen-responsive-images.js

Build & Production Testing

# Build the project
npm run build

# Start the local Express SSR/Caching server to test the production build
node server.js

Navigate to http://localhost:8080/ to test the production bundle with GZIP and cache headers.

πŸ“ License

This project is for personal portfolio demonstration purposes. All rights reserved by Samuele Deriu.

About

Modern & responsive Angular portfolio showcasing my projects, skills and experience. Built with Angular 20, and optimized for performance πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors