Webes alkalmazás készítése Spotify lejátszási listák kezelésére

OData támogatás
Konzulens:
Albert István
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban egyre többen választják internetről streamelt zenehallgatást, ennek legfőbb oka a zenegyűjtemény könnyebb hordozhatósága. Az ilyen zeneszolgáltatások közül a Spotify az egyik legelterjedtebb. A felhasználó lejátszási listákba csoportosíthatja a szolgáltatás által nyújtott zeneszámokat. A Spotify webes felületén csak nehézkesen vagy nincs is lehetőség a lejátszási listák komplex kezelésére. A Spotify az adatainak elérésére egy RESTful API-t nyújt rendelkezésre, ahol egy felhasználó privát adatai csak a felhasználó engedélyével érhetőek el, illetve módosíthatók. Ez a felhasználói engedély az OAuth 2.0 protokoll használatával szerezhető meg.

A szakdolgozat célja egy olyan webes felület elkészítése, amely e problémát megoldva, egy interaktív kezelőfelületet nyújt a Spotify felhasználóinak a lejátszási listáik kezelésére, illetve az elkészítés során használt technológiák bemutatása. A felhasználónak a Spotify felhasználói fiókjával bejelentkezve lehetősége nyílik a saját lejátszási listáit rendezni tulajdonságaik alapján vagy egy-egy zeneszám sorrendjének módosítása a listában, illetve a lejátszási listákra olyan halmazműveleteket alkalmazhat, mint a duplikátumszűrés egy listában, illetve metszetkeresés, unió, különbség több lista között.

A megoldás három fő részre különíthető el. Az első rész egy hordozható osztálykönyvtár, amely a Spotify API REST hívásait fedi el natív C# metódushívásokkal, ezzel téve kényelmesebbé a Spotifyra épülő alkalmazások fejlesztését. A második rész a spotifyos OAuth2 belépés implementációja komponensként, amelyet ugyanúgy lehet kezelni, mint az alapból beépített külső hitelesítési szolgáltatásokat. A harmadik rész pedig maga a webalkalmazás, amely az előző két részre építve és az ASP.NET MVC-t felhasználva nyújt egy kényelmes, intuitív felületet a felhasználó számára a lejátszási listáinak kezelésére.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.