Перейти до вмісту

Особистий кабінет (профіль)

ПолеЗначення
Статус🟢 prod
Поверхніweb
Доступністьпотрібен акаунт (гейт account-auth)
ВласникTODO:
Останнє підтвердження2026-06-14 · код:main (abitly-frontend-v2, abitly-api-v2) + live-гейт (/uk/profile → 307 на login). Авторизований UI — code-derived (візуально не верифіковано)

Парасолька особистого кабінету абітурієнта: під єдиним shell-лейаутом (CabinetShell — сайдбар на desktop, bottom-nav на mobile, ⌘K-пошук) збирає дашборд, налаштування профілю, конкурсний бал, збережені пропозиції та історію тестів. Рольовий — 5 типів користувача (APPLICANT, APPLICANT_MEMBER, STUDENT, TEACHER, OTHER), набір полів різниться.

Точка входу: https://abitly.org/uk/profile (корінь кабінету = Огляд). Гість → 307 на /uk/auth/login. Навігація (CABINET_NAV_ITEMS) — 5 розділів:

  1. Огляд /profile — дашборд: JourneyStepper (4 кроки воронки: персональні дані → бал → оффери → тести) + SummaryRow з 4 карток (профіль, бал, збережене, тести).
  2. Налаштування /profile/settings — рольові вкладки, у т.ч. «Інтереси» → обрані спеціальності; Danger Zone (видалення акаунта).
  3. Бал /profile/my-scoreкабінетний калькулятор бала.
  4. Збережене /profile/savedВступлісти.
  5. Історія /profile/progressпрогрес і тести.
ДжерелоЕндпоінт / entityПризначення
api-v2GET /users/meпрофіль (entity baseUser, single-table inheritance user_type)
api-v2GET /users/me/overviewдані дашборда (OverviewResponse: stepper + summary + insight)
api-v2PATCH /users/profileоновлення профілю (ім’я, місто, країна, рік, інтереси)
api-v2DELETE /users/:idвидалення акаунта (Danger Zone)

Зв’язки з іншими фічами

Section titled “Зв’язки з іншими фічами”
РепоШляхПримітка
abitly-frontend-v2src/app/[locale]/(profile)/**роути 5 розділів
abitly-frontend-v2src/components/layout/CabinetShell/constants/nav-config.tsCABINET_NAV_ITEMS / BOTTOM_NAV_ITEMS
abitly-frontend-v2src/components/pages/profile/pages/Overview/Overview.tsxдашборд
abitly-api-v2src/api/users/users.controller.ts8 ендпоінтів профілю
  • Уся фіча за логіном — авторизований UI не верифіковано браузером (тест-акаунт є, але headed-браузер крашиться; факти з коду).
  • InsightSlot (блок «шанси/інсайти ВНЗ» на дашборді) у V1 backend завжди повертає null — типи готові (ApplicantInsight/StudentInsight/TeacherInsight), фіча вимкнена (V2-vision).
  • V2 per-userType SummaryRow (StudentProfileSummary/…) — placeholder-типи, у V1 не використовуються (flat ProfileSummary для всіх ролей).
  • Прив’язка бота НЕ є розділом кабінету — її немає в CABINET_NAV_ITEMS; flow живе під /auth/telegram-connect (див. profile-bot-link).
ДатаПодіяДжерело
2026-06-14створено картку; факти з коду main + live-гейтиPR Wave 2