Skip to content

ASDAlexey/ASDAlexey.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alexey Popov — Portfolio

Tech Lead / Senior Angular Developer (NgRx) · 14+ years · Web (SSR) · Smart TV · Mobile (Ionic) · Desktop (Tauri/Rust)

CI / Deploy Coverage Tests Angular Lighthouse

🌐 Live: https://asdalexey.github.io/  ·  🇬🇧 /en/  ·  🇷🇺 /ru/

This repository is my personal portfolio — and the site itself is the demo: a production-grade Angular 22 application, fully bilingual, prerendered for SEO, and covered by tests at 100%.


Highlights

  • Angular 22 — standalone components, zoneless change detection, signals, inject(), strict TypeScript, OnPush everywhere.
  • Bilingual (EN / RU)@angular/localize with prerendered /en/ and /ru/ builds, language switcher, browser-language redirect.
  • SEO-first — static prerendering (SSG), per-locale meta/Open Graph/Twitter, hreflang + canonical, JSON-LD (Person / WebSite / ProfilePage), sitemap.xml, robots.txt, OG image.
  • 100% test coverage — Vitest + my own vitest-auto-spy library (dogfooded).
  • Lighthouse — Accessibility, Best Practices and SEO at 100; performance tuned with self-hosted fonts, inlined critical CSS and zero render-blocking third-party requests.
  • Quality gates — ESLint (+ custom local rules), Prettier, Stylelint, Husky hooks, madge (circular deps), jscpd.
  • CI/CD — GitHub Actions builds both locales and deploys to GitHub Pages.

Tech stack

Angular 22 · TypeScript · RxJS · SCSS · @angular/localize · Vitest · vitest-auto-spy · ESLint · Prettier · Stylelint · GitHub Actions · Bun

Local development

bun install
bun run start          # http://localhost:4200/ (source locale, EN)
bun run start:ru       # Russian locale

Common scripts

bun run build          # production build, both locales, prerendered
bun run assemble       # add redirect / sitemap / robots / og-image to dist
bun run test:coverage  # Vitest with 100% coverage gate
bun run check:code-quality   # prettier + eslint + stylelint
bun run madge          # circular-dependency check

Project structure

src/app/
├── core/            # models + framework services (SEO, structured data, locale)
├── features/portfolio/
│   ├── sections/    # hero · about · experience · projects
│   └── portfolio.component
└── shared/
    ├── components/  # nav · footer · language-switcher · cards · icon
    └── data/        # locale-independent content
src/locale/          # messages.ru.xlf
seo/                 # robots.txt · sitemap.xml · root redirect

Deployment

Pushing to main triggers .github/workflows/ci.yml: after lint, tests and a 100% coverage gate pass, it builds the EN + RU locales, assembles the site root, and publishes to GitHub Pages (source: GitHub Actions).

Contact

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors