Disctopia
Prehľad prípadu
Zjednotená API vrstva, ktorá spája hudobnú streamovaciu platformu a jej marketingovú webovú stránku do jednej plynulej ekosystému — spoločná autentifikácia, spoločný backend, centralizovaná logika obsahu.
Cieľ: Hlavným cieľom bolo vybudovať zjednotenú API vrstvu, ktorá používa Auth0 na autentifikáciu naprieč oboma platformami, umožňujúc používateľom prihlásiť sa na webovej stránke pomocou rovnakých prihlasovacích údajov ako v streamovacej aplikácii. Táto jediná API bude spravovať prezeranie správ, komentáre a páči sa mi to – udržiavať používateľské dáta konzistentné medzi oboma produktmi neustále.
Okrem toho sme potrebovali flexibilný systém notifikácií udalostí, ktorý môže zobraziť nadchádzajúce udalosti naprieč platformami - plne ovládaný z CMS bez zásahu vývojára.
Kľúčové informácie o projekte
Odvetvia
Hudobný streaming, ekonomika tvorcov, digitálne médiá, monetizácia umelcov
Služby
Architektúra API, integrácia autentifikácie, full-stack vývoj, prispôsobenie CMS
Riešenia
Zjednotená API vrstva, Auth0 SSO, notifikácie udalostí riadené CMS, zdieľané komentáre a páči sa mi to
Technológie
.NET, Umbraco, JavaScript, React, Auth0, Umbraco Cloud, Mailchimp, HubSpot
Výzvy
Proces
Používa sa fázovaný prístup k implementácii, ktorý začína dizajnom a nastavením základnej architektúry API a autentifikačného systému, a postupne prechádza ďalšími fázami, až kým nevznikne plne integrovaná vrstva notifikácií riadená CMS, ktorá zjednocuje dodávku obsahu a správanie systému naprieč platformami.
Zjednotená architektúra API
Navrhli a postavili sme jednotnú API, ktorú používajú marketingová webová stránka aj streamovacia aplikácia. Všetky dáta prechádzajú jedným backendom — žiadne zrkadlenie, žiadna duplicita.
Integrácia Auth0
Integrovali sme Auth0 ako spoločného poskytovateľa autentifikácie pre obe platformy. Používatelia sa prihlásia raz a môžu sa pohybovať medzi webom a aplikáciou bez opätovného overovania. Spracovanie tokenov a stav relácie sú bezpečne riešené naprieč doménami.
Komentáre, páči sa mi to a logika správ
Implementovali sme funkcionalitu komentovania a lajkov cez centrálnu API. Webová stránka sa pripája k rovnakému backendu ako streamovacia aplikácia, zabezpečujúc jednotné sociálne interakcie a konzistentné dáta.
Systém notifikácií udalostí
Vytvorili sme vlastný skript, ktorý získava dáta o udalostiach z Umbraco a zobrazuje dynamický banner na platforme, ktorú si redaktor vyberie. Marketing môže oznamovať udalosti na webe, v aplikácii alebo na oboch miestach — bez zásahu vývojára.
Riešenia
Kľúčové vlastnosti riešenia
Zjednotená API vrstva — Jedna API poháňa webstránku a streamovaciu aplikáciu. Všetky dáta (používatelia, správy, komentáre, lajky, udalosti) prechádzajú jedným zdrojom pravdy, čím odstraňujú duplicitu a problémy so synchronizáciou.
Zdieľaná autentifikácia Auth0 — Auth0 je spoločný poskytovateľ identity. Používatelia sa prihlásia raz; rovnaké prihlasovacie údaje fungujú naprieč platformami s konzistentnými reláciami a tokenmi.
Komentáre a páči sa mi to cez centrálnu API — Sociálne interakcie spravované cez zjednotenú API, ktorá udržiava konzistentné údaje o angažovanosti medzi platformami.
Notifikačné bannery udalostí riadené CMS — Skript získava dáta o udalostiach z Umbraco a zobrazuje bannery. Redaktori nastavujú obsah a umiestnenie (web, aplikácia, obe) bez zásahu vývojára.
Integrácie Mailchimp & HubSpot — Integrované s Mailchimp a HubSpot, aby tímy mohli spravovať marketing a CRM cez známe nástroje, pričom údaje prúdia cez centrálny backend.
Výsledky v číslach
100 %
Všetci používatelia sa overujú cez Auth0 na oboch platformách pomocou jedného súboru prihlasovacích údajov. Žiadne samostatné účty, žiadne ťažkosti pri prepínaní medzi webom a streamovacou aplikáciou.
3x
Redaktori môžu publikovať bannery udalostí na akúkoľvek platformu za pár minút cez Umbraco — čo predtým vyžadovalo úlohu pre vývojára a nasadenie, teraz trvá tri kliknutia v backoffice.
2x
Centralizácia autentifikácie, dát a logiky do jednej API znižuje náklady na údržbu. Systém je predvídateľný — problémy sú izolované a vyriešené na jednom mieste namiesto dvoch.