Disctopia
Огляд кейсу
Уніфікований шар API, який поєднує музичну стрімінгову платформу та її маркетинговий вебсайт в єдину безшовну екосистему — спільна автентифікація, спільний бекенд, централізована логіка контенту.
Мета: Головною метою було створити уніфікований шар API, що використовує Auth0 для автентифікації на обох платформах, дозволяючи користувачам входити на сайт, використовуючи ті ж облікові дані, що й у стрімінговому застосунку. Цей єдиний API має обробляти перегляд новин, коментування та лайки — забезпечуючи узгодженість даних користувачів між двома продуктами в будь-який час.
Крім того, нам потрібна була гнучка система повідомлень про події, яка могла б відображати майбутні події на обох платформах — повністю керована з CMS без участі розробників.
Основна інформація про проєкт
Індустрії
Музичний стрімінг, Економіка творців, Цифрові медіа, Монетизація артистів
Послуги
Архітектура API, Інтеграція автентифікації, Повноцінна розробка, Налаштування CMS
Рішення
Уніфікований шар API, Auth0 SSO, повідомлення про події, керовані CMS, спільні коментарі та лайки
Технології
.NET, Umbraco, JavaScript, React, Auth0, Umbraco Cloud, Mailchimp, HubSpot
Виклики
Процес
Використовується поетапний підхід до впровадження, починаючи з проектування та налаштування основної архітектури API та системи автентифікації, поступово переходячи через наступні етапи, що в кінцевому результаті призводить до повністю інтегрованого шару сповіщень, керованого CMS, який уніфікує доставку контенту та поведінку системи на платформах.
Уніфікована архітектура API
Розроблено і побудовано єдиний API, який використовують як маркетинговий вебсайт, так і стрімінговий додаток. Всі дані проходять через один бекенд — без дзеркалювання та дублювання.
Інтеграція Auth0
Інтегровано Auth0 як спільного провайдера автентифікації для обох платформ. Користувачі входять один раз і можуть переміщатися між вебсайтом і додатком без повторної аутентифікації. Обробка токенів і стан сесії відбуваються безпечно на різних доменах.
Коментарі, лайки та логіка новин
Реалізовано функціонал коментування та лайків через центральний API. Вебсайт підключається до того ж бекенду, що й стрімінговий додаток, забезпечуючи об'єднані соціальні взаємодії та узгоджені дані.
Система сповіщень про події
Створено спеціальний скрипт, який отримує дані про події з Umbraco та відображає динамічний банер на будь-якій платформі, яку вибирає редактор. Маркетинг може анонсувати події як на сайті, так і в додатку — без участі розробників.
Рішення
Ключові особливості рішення
Уніфікований шар API — Один API живить сайт і стрімінговий додаток. Всі дані (користувачі, новини, коментарі, лайки, події) проходять через одне джерело істини, усуваючи дублювання та проблеми синхронізації.
Спільна автентифікація Auth0 — Auth0 є загальним провайдером ідентичності. Користувачі входять один раз; ті ж облікові дані працюють на всіх платформах з узгодженими сесіями та токенами.
Коментарі та лайки через центральний API — Соціальні взаємодії обробляються через уніфікований API, що забезпечує узгодженість даних про активність користувачів на різних платформах.
Сповіщення про події, керовані CMS — Скрипт отримує дані про події з Umbraco та відображає банери. Редактори налаштовують контент та розміщення (веб, додаток, обидва) без втручання розробників.
Інтеграції з Mailchimp та HubSpot — Інтегровані з Mailchimp та HubSpot, щоб команди керували маркетингом та CRM через знайомі інструменти, а дані проходили через центральний бекенд.
Результати у цифрах
100%
Всі користувачі автентифікуються через Auth0 на обох платформах, використовуючи один набір облікових даних. Жодних окремих облікових записів, жодних труднощів при переході між вебсайтом та стрімінговим додатком.
3x
Редактори публікують банери подій на будь-яку платформу за лічені хвилини через Umbraco — що раніше вимагало запиту до розробника та деплойменту, тепер займає три кліки у бекофісі.
2x
Централізація автентифікації, даних і логіки в єдиному API знижує витрати на обслуговування. Система передбачувана — проблеми ізольовані та вирішуються в одному місці, а не в двох.