Skip to content

Commit d2b67e0

Browse files
committed
feat: update role, enhance Bonds Tracker, fix stat alignment
1 parent 9120d24 commit d2b67e0

7 files changed

Lines changed: 20 additions & 13 deletions

File tree

public/Alexey-Popov-Resume-ru.pdf

383 KB
Binary file not shown.

src/app/features/portfolio/sections/hero/hero.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h1 class="hero__title">{{ profile.name }}</h1>
2626
</a>
2727
<a class="btn btn--ghost btn--lg" i18n="@@hero.cta.linkedin" rel="noreferrer" target="_blank" [href]="profile.linkedin">LinkedIn</a>
2828
<a class="btn btn--ghost btn--lg" i18n="@@hero.cta.email" [href]="'mailto:' + profile.email">Email</a>
29-
<a class="btn btn--ghost btn--lg" i18n="@@hero.resume" rel="noreferrer" target="_blank" [href]="profile.resume">Résumé</a>
29+
<a class="btn btn--ghost btn--lg" download i18n="@@hero.resume" rel="noreferrer" target="_blank" [href]="profile.resume">Résumé</a>
3030
</div>
3131

3232
<p class="hero__hint">{{ profile.hint }}</p>

src/app/features/portfolio/sections/hero/hero.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ describe('HeroComponent', () => {
1414

1515
it('renders the name and role', () => {
1616
expect(el.querySelector('.hero__title')?.textContent).toContain('Alexey Popov');
17-
expect(el.querySelector('.hero__role')?.textContent).toContain('Senior Angular Developer');
17+
expect(el.querySelector('.hero__role')?.textContent).toContain('Senior Frontend Developer');
1818
});
1919

2020
it('renders all platform pills', () => {

src/app/shared/components/stat-card/stat-card.component.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
.stat__num {
2222
@include t.gradient-text;
2323
@include t.stat-value;
24+
25+
display: inline-flex;
26+
align-items: center;
2427
}
2528

2629
.stat__plus {

src/app/shared/data/portfolio.data.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ export const PROFILE = {
55
email: 'ASDAlexey@yandex.ru',
66
github: 'https://github.com/ASDAlexey',
77
linkedin: 'https://www.linkedin.com/in/alexey-popov-7988a874/',
8-
resume: 'Alexey-Popov-Resume.pdf',
8+
resume: $localize`:@@hero.resume.file:Alexey-Popov-Resume.pdf`,
99
siteUrl: 'https://asdalexey.github.io',
10-
role: $localize`:@@hero.role:Senior Angular Developer`,
10+
role: $localize`:@@hero.role:Tech Lead & Senior Frontend Developer`,
1111
eyebrow: $localize`:@@hero.eyebrow:Angular · every platform`,
1212
hint: $localize`:@@hero.hint:Taganrog, Russia · UTC+3 · remote-first`,
1313
} as const;
@@ -83,11 +83,11 @@ export const PROJECTS: readonly Project[] = [
8383
featured: true,
8484
},
8585
{
86-
name: 'Bonds-tracker',
86+
name: 'Bonds Tracker',
8787
badge: $localize`:@@proj.bonds.badge:Desktop · Personal`,
88-
description: $localize`:@@proj.bonds.desc:Personal bonds portfolio tracker. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, a Telegram bot and quant engines.`,
88+
description: $localize`:@@proj.bonds.desc:Personal bonds portfolio tracker across multiple T-Bank Invest accounts (your own and others'). Smart-portfolio optimizer by risk profile, portfolio audit with swap recommendations, a scored screener, coupon calendar by month and year, monthly income vs. contributions, and a goal dashboard with a growth roadmap. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, KMV-Merton default risk, a Telegram bot and Rust quant engines.`,
8989
links: [],
90-
tags: ['Angular 21', 'Tauri 2', 'Rust', 'SQLite', 'WebSocket'],
90+
tags: ['Angular 22', 'Tauri 2', 'Rust', 'SQLite', 'WebSocket'],
9191
featured: false,
9292
},
9393
{

src/locale/messages.ru.xlf

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,12 @@
7171
<target>Сделано на Angular 22 — prerender, EN/RU, 100% покрытие тестами.</target>
7272
</trans-unit>
7373
<trans-unit id="hero.role" datatype="html">
74-
<source>Senior Angular Developer</source>
75-
<target>Senior Angular Developer</target>
74+
<source>Tech Lead &amp; Senior Frontend Developer</source>
75+
<target>Tech Lead и Senior Frontend-разработчик</target>
76+
</trans-unit>
77+
<trans-unit id="hero.resume.file" datatype="html">
78+
<source>Alexey-Popov-Resume.pdf</source>
79+
<target>Alexey-Popov-Resume-ru.pdf</target>
7680
</trans-unit>
7781
<trans-unit id="hero.eyebrow" datatype="html">
7882
<source>Angular · every platform</source>
@@ -175,8 +179,8 @@
175179
<target>Десктоп · Личное</target>
176180
</trans-unit>
177181
<trans-unit id="proj.bonds.desc" datatype="html">
178-
<source>Personal bonds portfolio tracker. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, a Telegram bot and quant engines.</source>
179-
<target>Личный трекер портфеля облигаций. Аналитика в реальном времени по API Tinkoff Invest / MOEX ISS / ЦБ РФ, графики Plotly, Telegram-бот и квант-движки.</target>
182+
<source>Personal bonds portfolio tracker across multiple T-Bank Invest accounts (your own and others'). Smart-portfolio optimizer by risk profile, portfolio audit with swap recommendations, a scored screener, coupon calendar by month and year, monthly income vs. contributions, and a goal dashboard with a growth roadmap. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, KMV-Merton default risk, a Telegram bot and Rust quant engines.</source>
183+
<target>Личный трекер портфеля облигаций с поддержкой нескольких счетов T-Bank Invest (свои и чужие). Умный портфель — автоподбор облигаций по риск-профилю, аудит портфеля с рекомендациями по замене, скринер с балльной оценкой, купонный календарь по месяцам и годам, помесячный доход с учётом пополнений и дашборд цели с дорожной картой роста. Аналитика в реальном времени по API Tinkoff Invest / MOEX ISS / ЦБ РФ, графики Plotly, риск дефолта по KMV-Merton, Telegram-бот и квант-движки на Rust.</target>
180184
</trans-unit>
181185
<trans-unit id="proj.vas.badge" datatype="html">
182186
<source>Library · Open Source</source>

src/locale/messages.xlf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@
177177
</context-group>
178178
</trans-unit>
179179
<trans-unit id="hero.role" datatype="html">
180-
<source>Senior Angular Developer</source>
180+
<source>Tech Lead &amp; Senior Frontend Developer</source>
181181
<context-group purpose="location">
182182
<context context-type="sourcefile">src/app/shared/data/portfolio.data.ts</context>
183183
<context context-type="linenumber">10</context>
@@ -359,7 +359,7 @@
359359
</context-group>
360360
</trans-unit>
361361
<trans-unit id="proj.bonds.desc" datatype="html">
362-
<source>Personal bonds portfolio tracker. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, a Telegram bot and quant engines.</source>
362+
<source>Personal bonds portfolio tracker across multiple T-Bank Invest accounts (your own and others'). Smart-portfolio optimizer by risk profile, portfolio audit with swap recommendations, a scored screener, coupon calendar by month and year, monthly income vs. contributions, and a goal dashboard with a growth roadmap. Real-time analytics over Tinkoff Invest / MOEX ISS / CBR APIs, Plotly charts, KMV-Merton default risk, a Telegram bot and Rust quant engines.</source>
363363
<context-group purpose="location">
364364
<context context-type="sourcefile">src/app/shared/data/portfolio.data.ts</context>
365365
<context context-type="linenumber">88</context>

0 commit comments

Comments
 (0)