Сторінка ЗВО
Метадані
Section titled “Метадані”| Поле | Значення |
|---|---|
| Статус | 🟢 prod |
| Поверхні | web |
| Доступність | безкоштовно, без акаунта |
| Власник | TODO: |
| Останнє підтвердження | 2026-06-13 · browse (curl живих сторінок) + код:main |
Призначення
Section titled “Призначення”Профіль конкретного ЗВО: статистика вступу, структура (факультети/інститути), спеціальності, конкурсні пропозиції та контакти приймальної комісії в одному місці. Через конкурсні пропозиції абітурієнт виходить на інсайдер-відгуки — реальних студентів цього ЗВО зі Studsearch, яким можна поставити питання.
User flow
Section titled “User flow”Точка входу: https://abitly.org/uk/universities/{slug}-{id} (напр. /uk/universities/kpi-im-ihoria-sikorskoho-174). ID завжди — хвіст slug після останнього - (parseSlug). Усі таби індексуються пошуковиками й присутні в uk-universities.xml.
- З каталогу ЗВО або пошуковика абітурієнт потрапляє на дефолтний таб info — огляд із hero-фото (зі Strapi), статистикою, прев’ю секцій і sidebar-навігацією зі scroll-tracking.
- Таби в хедері:
info·structure·specialities·socials·offers(конкурсні пропозиції з фільтрами рік/факультет/спеціальність, синхронізованими з URL) ·contacts. - Вкладені сторінки факультетів:
/universities/{uSlug}-{uId}/faculties/{fSlug}-{fId}/{specialities|offers|socials}. - Клік по конкурсній пропозиції → сторінка оферу
/offers/result/{id}(див. Каталог офферів) — саме там рендеряться картки інсайдерів Studsearch: до 5 студентів цього ЗВО/факультету/спеціальності з фото та лінками на соцмережі (redirect через Studsearch backend). Якщо студентів немає — placeholder із запрошенням зареєструватися на Studsearch. - Додатково: кнопка «Порівняти» (Zustand + localStorage →
/compare), секція днів відкритих дверей із deep-link у Telegram-бота (деталі), пункти меню «Спитати у студентів» / «Залишити відгук» → studsearch.org (?source=abitly).
Cross-product потік Abitly ↔ Studsearch (спільний Postgres, різні схеми, два API) вже намальований — див. data-flows.
Дані та API
Section titled “Дані та API”| Джерело | Ендпоінт / entity | Призначення |
|---|---|---|
| api-v2 | GET /universities/{id}/info, /{id}/structure?year=N, /{id}/specialities?year=N, /comparing | дані ЗВО, структура, спеціальності, порівняння |
| api-v2 | GET /offers?universityIds=... | таб «Конкурсні пропозиції» |
| Strapi | content-type universities (external_id ↔ id з api-v2, image) | hero-фото; немає фото → hero не рендериться |
| Studsearch backend | GET /students?universityIds&facultyIds&specialityCodes, GET /students/link/{uuid}/{social} | інсайдери на сторінці оферу + redirect на соцмережу студента |
Studsearch-клієнт — окремий axios-інстанс на NEXT_PUBLIC_STUDSEARCH_API_URL (у prod — https://server.studsearch.org, ендпоінт публічний, без auth). Перегляд сторінки шле подію university_page_view у трекінг-пайплайн (track-events, див. індекс).
Зв’язки з іншими фічами
Section titled “Зв’язки з іншими фічами”- Каталог / пошук ЗВО — головна точка входу на сторінку.
- Каталог спеціальностей / офферів — таб
offersі сторінка оферу з інсайдерами. - Deep-links до Telegram-бота — дні відкритих дверей.
- Порівняння ЗВО (
/compare) і «Топ ЗВО» (/top-universities) — суміжні сторінки без окремих карток, див. індекс.
| Репо | Шлях | Примітка |
|---|---|---|
abitly-frontend-v2 | src/app/[locale]/(main)/universities/[universitySlug]/ | сторінка + таби + faculties |
abitly-frontend-v2 | src/components/pages/universities/UniversityPage/, src/api/universities/, src/api/students/ | UI, TanStack Query, Studsearch-клієнт |
abitly-frontend-v2 | docs/domains/universities/ | першоджерело деталей домену (роути, API, типи) |
abitly-api-v2 | src/api/universities/ + docs/modules/universities/ | модуль + модульні доки |
Обмеження та блокери
Section titled “Обмеження та блокери”- Інсайдер-відгуки живуть на сторінці оферу, не на самій сторінці ЗВО — на профілі ЗВО Studsearch присутній лише через глобальне меню.
- Дані офферів — річний snapshot (
updateTime: 2025-07-21, рік 2024 у відповідях API), не live-стрічка ЄДЕБО. - Hero-фото залежить від ручного наповнення Strapi: немає запису з
external_id→ секція прихована. - Studsearch-ендпоінт без фолбека на помилку — query має
placeholderData: [], тож при падінні Studsearch секція тихо порожніє.
Історія змін
Section titled “Історія змін”| Дата | Подія | Джерело |
|---|---|---|
| 2026-06-13 | Картку створено; живі сторінки ЗВО, табів і оферу з інсайдерами підтверджені curl-ом | ця картка |
| 2026-05-15 | Домен-доки docs/domains/universities/ актуалізовані (status: living) | frontmatter доків у репо |