Babelia13 / Saraoke

Basic Android application that shown the lyrics of the song it's being listening on Spotify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Saraoke

Basic Android application that shown the lyrics of the song it's being listening on Spotify.

🚧 Work in progress 🚧

Tech-stack

Utils

  • Detekt: Code smell analysis for Kotlin projects
  • Timber: Custom logger on top of Android's normal Log class

Architecture

The architecture used in this project is a minimal expression of the Flux architecture. Specifically, the implementation of the Mini open source repo is used. The following image briefly shows the components that make up the application architecture and how they communicate with the Mini components. You can read more about this architecture in its repository documentation.

Architecture

Third party dependencies

Genius

Genius is the world's biggest collection of song lyrics and musical knowledge. Genius API provides requests to get full information about songs, artists, albums arts, lyrics... Moreover, it provides a request to search any kind of information of a song.

Spotify

Spotify is one of the world's largest music streaming service providers. The application developed for Android launches an action through a BroadcastReceiver each time a song is played or each time the playback status of the song is changed. By listening to these actions, the data of the song that is playing can be obtained from the extra of the Intent. This is the information used to search the song information through the Genius API.

It is needed to enable the "Device Broadcast Status" option in Spotify app settings to start sending events about the playback of the songs.

Usage

In order to build and test the application, a Genius API token has to be specified in settings.properties file:

geniusApiToken = "<YOUR_GENIUS_API_TOKEN>"

About

Basic Android application that shown the lyrics of the song it's being listening on Spotify


Languages

Language:Kotlin 93.3%Language:Shell 6.7%