Project Overview
《Artist Profile》 is an application that integrates multiple data sources, allowing users to easily explore artists. By integrating the Spotify API, Wikipedia API, and MusicBrainz API, the application provides rich information including artist images, names, music genres, follower counts, popularity, birthplace, date of birth, active countries, and more. Wikipedia content is also available in Traditional Chinese and English to support different language needs. The App also includes a smart search feature, allowing users to accurately find relevant artists even when entering only part of a name or making spelling mistakes.
App Showcase
Home Page

English and Chinese Artist Detail Pages

Support for Searching Taiwanese Artists

Home Page Loading Screen

Artist Detail Loading Screen

Search Page

Alert Dialog

Notification Bar

Features
-
Artist Profile: Integrates multiple APIs to provide detailed artist information
- Spotify API: Displays the artist's photo, name, Spotify popularity, follower count, and music genres
- Wikipedia API: Provides the artist's information from Wikipedia
- MusicBrainz API: Provides detailed information such as the artist's date of birth, birthplace, and active countries
-
Search: Retrieves results through the Spotify API, allowing users to find relevant artists even when entering only part of a name or making spelling mistakes (for example, entering "Taylor" or "Tay" can find "Taylor Swift")
-
Language Settings: Allows Wikipedia content to be displayed in Traditional Chinese or English
Project Highlights
-
Caching Mechanism:
- Backend Cache: Caches data on the server side to effectively reduce third-party API usage even when multiple users make requests simultaneously
- Frontend Cache: Caches backend data locally after it is retrieved, allowing the same user to directly use locally cached data when making repeated requests within a short period of time, improving response speed and reducing backend traffic
-
Improving Data Accuracy: After repeated testing, the backend uses keyword searches and multiple layers of checks when integrating data from multiple third-party APIs, reducing the possibility of users receiving incorrect data
-
Spotify API Precise Keyword Search: Uses the full artist name returned by Spotify as the basis for querying the Wikipedia API and MusicBrainz API
-
Multi-Layer Checking and Validation Mechanism:
- When searching with an artist name + keyword, the Wikipedia API may fail to return accurate data, such as returning an entry related to the keyword but not the artist, or when a lesser-known artist does not have a Wikipedia entry. Therefore, the backend checks whether the artist name appears in the
extractreturned by the Wikipedia API (for example, the Taylor Swift entry will mentionTaylor Swift). If it does not, the entry is considered unrelated to the artist, and the backend returnsnulland displays a message in the App to avoid confusion - If an entry passes the check but is still incorrect, such as a search for "Taylor Swift" returning the self-titled album 《Taylor Swift》, the backend manually handles these exceptional cases
- When checking MusicBrainz API data, the backend checks whether the artist name provided by the Spotify API matches the artist name from the MusicBrainz API and only returns the data when the names match exactly, ensuring data accuracy
- When searching with an artist name + keyword, the Wikipedia API may fail to return accurate data, such as returning an entry related to the keyword but not the artist, or when a lesser-known artist does not have a Wikipedia entry. Therefore, the backend checks whether the artist name appears in the
-
-
Chinese Wikipedia Fallback Query Mechanism: Since using Chinese names to search English Wikipedia has a lower chance of returning correct results, when the user selects Chinese as the Wikipedia language and the artist name is in English, the backend does not immediately return
nullif it cannot find the correct data on Chinese Wikipedia. Instead, it searches English Wikipedia using the artist name.
API Sources
-
Spotify API: Provides artist photos, names, Spotify popularity, follower counts, and music genres, and supports real-time search
-
Wikipedia API: Uses the API provided by MediaWiki to search entry content by keyword and supports multiple language options
-
MusicBrainz API: Provides detailed artist information such as date of birth, birthplace, and active countries