專案介紹
《Artist Profile》是一款整合多方資料來源的應用程式,讓使用者能輕鬆探索歌手。透過串接 Spotify API、Wikipedia API 與 MusicBrainz API,應用程式提供包括歌手圖片、名稱、音樂類型、粉絲數、流行度,以及出生地、出生日期、活躍國家等豐富資訊。此外,維基百科內容支援繁體中文與英文,滿足不同語言需求。App 還搭配智慧搜尋功能,讓使用者即使輸入部分名字或有拼字錯誤,也能精準找到目標歌手。
App 展示
首頁

中英文歌手詳情頁面

支援搜尋台灣歌手

首頁載入畫面

歌手詳情載入畫面

搜尋頁面

提示對話框

通知欄

功能
-
歌手介紹: 整合多個 API 提供詳細的歌手資訊
- Spotify API:顯示歌手的照片、名稱、Spotify 人氣、粉絲數量及音樂類型
- Wikipedia API:歌手於維基百科上的資料
- MusicBrainz API:歌手的出生日期、出生地、活躍國家等詳細資料
-
搜尋功能:
透過 Spotify API 取得結果,即使僅輸入部分名稱或拼字錯誤,也能找到相關歌手(例如輸入 "Taylor" 或 "Tay" 即可找到 "Taylor Swift") -
語言設定: 可選擇維基百科內容顯示為繁體中文或英文
專案亮點
-
快取機制:
- 後端快取:於伺服器端進行快取,確保即使多位使用者同時發起請求,也能有效節省第三方 API 的使用量
- 前端快取:獲取後端資料後於本地端進行快取,在單位使用者多次發起相同請求時,能於短時間內直接使用本地快取資料,提升反應速度與節省後端流量
-
資料準確性提升:
後端在整合多個第三方 API 資料時,經過多次測試,採用關鍵字搜索並進行多層檢查,降低使用者獲取錯誤資料的可能性-
Spotify API 關鍵字精確搜索:
利用 Spotify 回傳的完整歌手姓名作為基礎,對接 Wikipedia API 與 MusicBrainz API -
多層檢查與驗證機制:
- 透過歌手名稱 + 關鍵字搜尋時,Wikipedia API 有可能搜索不到準確資料,例如搜索到與關鍵字相關但非歌手本人條目或小眾歌手可能沒有維基百科條目等。因此後端會進行檢查,判斷歌手名稱是否存在於 Wikipedia API 回傳的
extract中(如 Taylor Swift 條目內會提及Taylor Swift)。若不包含,表示此條目非該歌手條目,後端會回傳null,並在 App 中提示使用者來避免混淆 - 若通過檢查但實際不正確的條目,例如搜尋「Taylor Swift」時可能返回同名專輯《Taylor Swift》,後端會手動處理此類例外情況
- 在 MusicBrainz API 資料檢查中,後端會檢查 Spotify API 提供的歌手名稱與 MusicBrainz API 的歌手名稱,僅當名稱完全一致時才回傳資料,以確保資料準確
- 透過歌手名稱 + 關鍵字搜尋時,Wikipedia API 有可能搜索不到準確資料,例如搜索到與關鍵字相關但非歌手本人條目或小眾歌手可能沒有維基百科條目等。因此後端會進行檢查,判斷歌手名稱是否存在於 Wikipedia API 回傳的
-
-
中文維基百科的備援查詢機制:
由於使用中文名稱搜尋英文維基百科獲得正確結果的機率較低,因此當使用者選擇中文作為維基百科語言,且歌手名稱為英文時,如果中文維基百科比對不到正確資料,後端不會直接回傳null,而是改以歌手名稱搜尋英文維基百科。
API 來源
-
Spotify API:提供歌手的照片、名稱、Spotify 人氣、粉絲數量及音樂類型,並支援即時搜尋功能
-
Wikipedia API:使用 MediaWiki 提供的 API,根據關鍵字搜尋條目內容,並提供多語言選擇
-
MusicBrainz API:提供歌手的詳細資訊,例如出生日期、出生地及活躍國家等