Disctopia
Prehľad prípadu
Jednotná vrstva API, ktorá spája platformu na streamovanie hudby a jej marketingovú webovú stránku do jedného bezproblémového ekosystému — spoločná autentifikácia, spoločný backend, centralizovaná logika obsahu.
Cieľ: Hlavným cieľom bolo vybudovať jednotnú vrstvu API, ktorá používa Auth0 na autentifikáciu na oboch platformách, čo umožňuje používateľom prihlásiť sa na webovej stránke pomocou rovnakých prihlasovacích údajov ako do streamovacej aplikácie. Táto jediná API by spracúvala zobrazenie noviniek, komentáre a lajky - pričom používateľské dáta zostávajú konzistentné medzi oboma produktmi počas celého času.
Okrem toho sme potrebovali flexibilný systém upozornení na udalosti, ktorý by zobrazoval nadchádzajúce podujatia cez platformy - plne ovládaný z CMS bez potreby zásahu vývojára.
Kľúčové informácie o projekte
Odvetvia
Hudobné streamovanie, 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
Jednotná API vrstva, Auth0 SSO, CMS-riadené upozornenia na udalosti, spoločné komentáre a lajky
Technológie
.NET, Umbraco, JavaScript, React, Auth0, Umbraco Cloud, Mailchimp, HubSpot
Výzvy
Proces
Používa sa fázovaný prístup k implementácii, začínajúc návrhom a nastavením základnej architektúry API a autentifikačného systému, a postupne prechádzajúc po jednotlivých etapách, ktoré nakoniec vyvrcholia plne integrovanou vrstvou upozornení riadenou CMS, ktorá zjednocuje dodávanie obsahu a správanie systému na všetkých platformách.
Jednotná architektúra API
Navrhnuté a postavené jedno API, ktoré používajú aj marketingová webová stránka a streamovacia aplikácia. Všetky dáta prechádzajú jedným backendom — žiadne zrkadlenie ani duplicita.
Integrácia Auth0
Integrovaný Auth0 ako spoločný poskytovateľ 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 overenia. Spracovanie tokenov a stav relácie sú bezpečne spravované naprieč doménami.
Komentáre, lajky a logika noviniek
Implementovaná funkcionalita komentovania a lajkov cez centrálnu API. Webová stránka sa pripája k rovnakému backendu ako streamovacia aplikácia, čo zabezpečuje jednotné sociálne interakcie a konzistentné dáta.
Systém upozornení na udalosti
Vytvorený vlastný skript, ktorý načítava údaje o udalostiach z Umbraco a zobrazuje dynamický banner na platforme, ktorú vyberie editor. Marketing môže oznamovať udalosti na webe, v aplikácii alebo na oboch bez zásahu vývojára.
Riešenia
Hlavné funkcie riešenia
Jednotná API vrstva — Jedna API napája web aj streamovaciu aplikáciu. Všetky dáta (používatelia, novinky, komentáre, lajky, udalosti) prechádzajú jedným zdrojom pravdy, čo odstraňuje duplicitu a problémy so synchronizáciou.
Spoločná autentifikácia Auth0 — Auth0 je spoločný poskytovateľ identity. Používatelia sa prihlásia raz; rovnaké prihlasovacie údaje fungujú na všetkých platformách s konzistentnými reláciami a tokenmi.
Komentáre a lajky cez centralizované API — Sociálne interakcie sú spravované cez jednotné API, čo udržiava konzistentné údaje o zapojení naprieč platformami.
CMS riadené bannery upozornení na udalosti — Skript čerpá údaje o udalostiach z Umbraco a zobrazuje bannery. Redaktori určujú obsah a umiestnenie (web, aplikácia, oboje) bez zásahu vývojára.
Integrácie Mailchimp a HubSpot — Integrované s Mailchimp a HubSpot, takže tímy riadia marketing a CRM cez známe nástroje, pričom dáta prechádzajú 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 webovou stránkou a streamovacou aplikáciou.
3x
Redaktori zverejnia bannery udalostí na ľubovoľnej platforme do niekoľkých minút cez Umbraco — čo predtým vyžadovalo tiket pre vývojára a nasadenie, teraz vyžaduje tri kliknutia v backoffice.
2x
Centralizácia overenia, dát a logiky do jedného API znižuje náklady na údržbu. Systém je predvídateľný — problémy sú izolované a riešené na jednom mieste namiesto dvoch.