Концепції, цінність і типові сценарії
Концепції, цінність і типові сценарії
Preparing Ring content
Preparing Ring content
Preparing Ring content
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Персональні файлові медіа, mood audio та доступність peer-game — окремі маршрути під тим самим username; див. Ring File Cabinet і Peer Games. Телеметрія відвідувань приєднується до загальної аналітики Ring — див. Monitoring & Analytics.
Кожен користувач із зарезервованим username може відкрити публічний профіль на /{username} (за потреби з префіксом locale). Сторінка рендериться сервером App Router із динамічними SEO-метаданими. Пов’язані публічні поверхні:
| URL | Призначення |
|---|---|
/{username} | Заголовок профілю, bio, NFT-лістинги, blog/staking, коли ввімкнено; записує personal_page_view для не-власників |
/{username}/img | Lightbox галереї File Cabinet (visibility=public) |
/{username}/player | Публічний mood player (оболонка DaVinci + плейлисти у правій рейці) |
/{username}/games | Публічна доступність peer-game («Play with me») |
/profile/songs | Приватне керування mood-player |
/profile/games | Приватне керування Member для ввімкнених game slug |
Власники бачать віджет статистики відвідувань (унікальні відвідувачі за 24 год / 7 днів із розподілом за роллю відвідувача). Власні перегляди пропускаються, тому оновлення власної сторінки не завищує унікальні значення.
Публічний профіль — це обличчя довіри учасника: хто він, що продає/виставляє, які медіа обирає показати і (через Peer Games) які безкоштовні мініігри приймає. Видимість головної сторінки сьогодні бінарна — приватні профілі повертають 404. Статистика унікальних відвідувань допомагає учасникам бачити, чи приваблює їхня сторінка гостей, subscriber або member, не враховуючи самих себе.
Той самий процес: автентифіковані Professional-віджети /profile (Organization, tags, My CV) формують публічне обличчя довіри.
Наступний крок: /file-cabinet із гейтом member + упорядкування галереї; public /img для visibility=public.
Залежність: personal_page_view приєднує first-party analytics_events і personalPages адміністратора.
Той самий процес: доступність public /{username}/games і керування Member на /profile/games.
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Персональні файлові медіа, mood audio та доступність peer-game — окремі маршрути під тим самим username; див. Ring File Cabinet і Peer Games. Телеметрія відвідувань приєднується до загальної аналітики Ring — див. Monitoring & Analytics.
Кожен користувач із зарезервованим username може відкрити публічний профіль на /{username} (за потреби з префіксом locale). Сторінка рендериться сервером App Router із динамічними SEO-метаданими. Пов’язані публічні поверхні:
| URL | Призначення |
|---|---|
/{username} | Заголовок профілю, bio, NFT-лістинги, blog/staking, коли ввімкнено; записує personal_page_view для не-власників |
/{username}/img | Lightbox галереї File Cabinet (visibility=public) |
/{username}/player | Публічний mood player (оболонка DaVinci + плейлисти у правій рейці) |
/{username}/games | Публічна доступність peer-game («Play with me») |
/profile/songs | Приватне керування mood-player |
/profile/games | Приватне керування Member для ввімкнених game slug |
Власники бачать віджет статистики відвідувань (унікальні відвідувачі за 24 год / 7 днів із розподілом за роллю відвідувача). Власні перегляди пропускаються, тому оновлення власної сторінки не завищує унікальні значення.
Публічний профіль — це обличчя довіри учасника: хто він, що продає/виставляє, які медіа обирає показати і (через Peer Games) які безкоштовні мініігри приймає. Видимість головної сторінки сьогодні бінарна — приватні профілі повертають 404. Статистика унікальних відвідувань допомагає учасникам бачити, чи приваблює їхня сторінка гостей, subscriber або member, не враховуючи самих себе.
Той самий процес: автентифіковані Professional-віджети /profile (Organization, tags, My CV) формують публічне обличчя довіри.
Наступний крок: /file-cabinet із гейтом member + упорядкування галереї; public /img для visibility=public.
Залежність: personal_page_view приєднує first-party analytics_events і personalPages адміністратора.
Той самий процес: доступність public /{username}/games і керування Member на /profile/games.
Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Персональні файлові медіа, mood audio та доступність peer-game — окремі маршрути під тим самим username; див. Ring File Cabinet і Peer Games. Телеметрія відвідувань приєднується до загальної аналітики Ring — див. Monitoring & Analytics.
Кожен користувач із зарезервованим username може відкрити публічний профіль на /{username} (за потреби з префіксом locale). Сторінка рендериться сервером App Router із динамічними SEO-метаданими. Пов’язані публічні поверхні:
| URL | Призначення |
|---|---|
/{username} | Заголовок профілю, bio, NFT-лістинги, blog/staking, коли ввімкнено; записує personal_page_view для не-власників |
/{username}/img | Lightbox галереї File Cabinet (visibility=public) |
/{username}/player | Публічний mood player (оболонка DaVinci + плейлисти у правій рейці) |
/{username}/games | Публічна доступність peer-game («Play with me») |
/profile/songs | Приватне керування mood-player |
/profile/games | Приватне керування Member для ввімкнених game slug |
Власники бачать віджет статистики відвідувань (унікальні відвідувачі за 24 год / 7 днів із розподілом за роллю відвідувача). Власні перегляди пропускаються, тому оновлення власної сторінки не завищує унікальні значення.
Публічний профіль — це обличчя довіри учасника: хто він, що продає/виставляє, які медіа обирає показати і (через Peer Games) які безкоштовні мініігри приймає. Видимість головної сторінки сьогодні бінарна — приватні профілі повертають 404. Статистика унікальних відвідувань допомагає учасникам бачити, чи приваблює їхня сторінка гостей, subscriber або member, не враховуючи самих себе.
Той самий процес: автентифіковані Professional-віджети /profile (Organization, tags, My CV) формують публічне обличчя довіри.
Наступний крок: /file-cabinet із гейтом member + упорядкування галереї; public /img для visibility=public.
Залежність: personal_page_view приєднує first-party analytics_events і personalPages адміністратора.
Той самий процес: доступність public /{username}/games і керування Member на /profile/games.
Події personal_page_view потрапляють у analytics_events; адміністратори бачать personalPages на /admin/analytics.
/{username} як анонімний відвідувач — віджет власника має показати унікальне відвідування після звернення не-власника./profile/gallery (member+)./profile/songs.Окремі перемикачі публічності для кожного поля контакту (email, phone, social) ще не випущені — вважайте поточним гейтом перемикач personal-page.
ROUTES.PUBLIC_PROFILE_PLAYERROUTES.PUBLIC_PROFILE_GAMESROUTES.PROFILE_SONGSROUTES.PROFILE_GAMESROUTES.PROFILE_GALLERY| Питання | Шлях |
|---|---|
| Тип події | personal_page_view → analytics_events через insertAnalyticsEventBatch |
| Реєстратор | features/analytics/lib/personal-page-analytics.ts → recordPersonalPageView |
| Пропуск власника | Сторінка: if (isOwner) return перед записом; recorder: пропуск коли visitorUserId === profileUserId |
| SSOT типів | features/analytics/types/personal-page.ts (PersonalPageVisitStats, рольові buckets) |
| Action віджета власника | getPersonalPageViewStats у features/auth/services/personal-page-stats.ts (власник або platform admin) |
| UI віджета | features/auth/components/personal-page-widget.tsx |
| Зведення для адміна | getPersonalPagePlatformStats → PlatformAnalyticsSummary.personalPages на /admin/analytics |
| Приєднання engagement | analytics-db.ts включає personal_page_view разом із docs_page_view / page_view / app_load у агрегатах pageViews |
| Kill switch | ANALYTICS_DISABLE_STORAGE=true — recorder нічого не робить |
Форма статистики: unique24h / unique7d, visits24h / visits7d, byRole24h / byRole7d (унікальні + відвідування за роллю). Для ідентичності відвідувача надається перевага user id, потім session key, потім anon IP.
features/auth/services/get-user-by-username.ts — кешований через cache() queryDocs у users з регістронезалежним username.
photoURL), ім’я, @username, bio/api/nft-market/listings?username=…Користувачі керують публічною видимістю через процес username / personal-page. Public → сторінка рендериться; Private → маршрут повертає 404.
| Endpoint | Призначення |
|---|---|
GET /api/auth/check-username | Доступність |
GET /api/nft-market/listings?username= | Публічні лістинги |
POST /api/auth/telegram/callback | Callback верифікації Telegram |
Дані галереї File Cabinet — це не окремий публічний REST-список: сторінка img читає їх через listPublicGalleryByOwner. Доступність peer-game використовує user_peer_games (міграція 043_peer_games.sql).
Передумова: зарезервований username потрібен перед розв’язанням публічних маршрутів /{username}.
Події personal_page_view потрапляють у analytics_events; адміністратори бачать personalPages на /admin/analytics.
/{username} як анонімний відвідувач — віджет власника має показати унікальне відвідування після звернення не-власника./profile/gallery (member+)./profile/songs.Окремі перемикачі публічності для кожного поля контакту (email, phone, social) ще не випущені — вважайте поточним гейтом перемикач personal-page.
ROUTES.PUBLIC_PROFILE_PLAYERROUTES.PUBLIC_PROFILE_GAMESROUTES.PROFILE_SONGSROUTES.PROFILE_GAMESROUTES.PROFILE_GALLERY| Питання | Шлях |
|---|---|
| Тип події | personal_page_view → analytics_events через insertAnalyticsEventBatch |
| Реєстратор | features/analytics/lib/personal-page-analytics.ts → recordPersonalPageView |
| Пропуск власника | Сторінка: if (isOwner) return перед записом; recorder: пропуск коли visitorUserId === profileUserId |
| SSOT типів | features/analytics/types/personal-page.ts (PersonalPageVisitStats, рольові buckets) |
| Action віджета власника | getPersonalPageViewStats у features/auth/services/personal-page-stats.ts (власник або platform admin) |
| UI віджета | features/auth/components/personal-page-widget.tsx |
| Зведення для адміна | getPersonalPagePlatformStats → PlatformAnalyticsSummary.personalPages на /admin/analytics |
| Приєднання engagement | analytics-db.ts включає personal_page_view разом із docs_page_view / page_view / app_load у агрегатах pageViews |
| Kill switch | ANALYTICS_DISABLE_STORAGE=true — recorder нічого не робить |
Форма статистики: unique24h / unique7d, visits24h / visits7d, byRole24h / byRole7d (унікальні + відвідування за роллю). Для ідентичності відвідувача надається перевага user id, потім session key, потім anon IP.
features/auth/services/get-user-by-username.ts — кешований через cache() queryDocs у users з регістронезалежним username.
photoURL), ім’я, @username, bio/api/nft-market/listings?username=…Користувачі керують публічною видимістю через процес username / personal-page. Public → сторінка рендериться; Private → маршрут повертає 404.
| Endpoint | Призначення |
|---|---|
GET /api/auth/check-username | Доступність |
GET /api/nft-market/listings?username= | Публічні лістинги |
POST /api/auth/telegram/callback | Callback верифікації Telegram |
Дані галереї File Cabinet — це не окремий публічний REST-список: сторінка img читає їх через listPublicGalleryByOwner. Доступність peer-game використовує user_peer_games (міграція 043_peer_games.sql).
Передумова: зарезервований username потрібен перед розв’язанням публічних маршрутів /{username}.
Події personal_page_view потрапляють у analytics_events; адміністратори бачать personalPages на /admin/analytics.
/{username} як анонімний відвідувач — віджет власника має показати унікальне відвідування після звернення не-власника./profile/gallery (member+)./profile/songs.Окремі перемикачі публічності для кожного поля контакту (email, phone, social) ще не випущені — вважайте поточним гейтом перемикач personal-page.
ROUTES.PUBLIC_PROFILE_PLAYERROUTES.PUBLIC_PROFILE_GAMESROUTES.PROFILE_SONGSROUTES.PROFILE_GAMESROUTES.PROFILE_GALLERY| Питання | Шлях |
|---|---|
| Тип події | personal_page_view → analytics_events через insertAnalyticsEventBatch |
| Реєстратор | features/analytics/lib/personal-page-analytics.ts → recordPersonalPageView |
| Пропуск власника | Сторінка: if (isOwner) return перед записом; recorder: пропуск коли visitorUserId === profileUserId |
| SSOT типів | features/analytics/types/personal-page.ts (PersonalPageVisitStats, рольові buckets) |
| Action віджета власника | getPersonalPageViewStats у features/auth/services/personal-page-stats.ts (власник або platform admin) |
| UI віджета | features/auth/components/personal-page-widget.tsx |
| Зведення для адміна | getPersonalPagePlatformStats → PlatformAnalyticsSummary.personalPages на /admin/analytics |
| Приєднання engagement | analytics-db.ts включає personal_page_view разом із docs_page_view / page_view / app_load у агрегатах pageViews |
| Kill switch | ANALYTICS_DISABLE_STORAGE=true — recorder нічого не робить |
Форма статистики: unique24h / unique7d, visits24h / visits7d, byRole24h / byRole7d (унікальні + відвідування за роллю). Для ідентичності відвідувача надається перевага user id, потім session key, потім anon IP.
features/auth/services/get-user-by-username.ts — кешований через cache() queryDocs у users з регістронезалежним username.
photoURL), ім’я, @username, bio/api/nft-market/listings?username=…Користувачі керують публічною видимістю через процес username / personal-page. Public → сторінка рендериться; Private → маршрут повертає 404.
| Endpoint | Призначення |
|---|---|
GET /api/auth/check-username | Доступність |
GET /api/nft-market/listings?username= | Публічні лістинги |
POST /api/auth/telegram/callback | Callback верифікації Telegram |
Дані галереї File Cabinet — це не окремий публічний REST-список: сторінка img читає їх через listPublicGalleryByOwner. Доступність peer-game використовує user_peer_games (міграція 043_peer_games.sql).
Передумова: зарезервований username потрібен перед розв’язанням публічних маршрутів /{username}.