Home

Awesome

BeatInspector

An Android app to view the BPM, key, genre, time signature, and average loudness of a track from Spotify API.


<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid2.png" width="200px">


Purpose

The data provided by the app is meant to help music producers remix other tracks or use them as references for thier own work.

Technology

Built with Jetpack Compose, Single-Activity Architecture, Android Architecture Components (ViewModel, Navigation Component), Retrofit, Dagger/Hilt, Coil, Room, Kotlin Coroutines and Flows, AppAuth to implement the Authorization code with PKCE flow, Jetpack Palette library, and the Paging 3 library.

Screenshots

Screenshots collage

Building from sources

Prerequisites

Build locally

SPOTIFY_CLIENT_ID=<your app's client id from Spotify developer dashboard>

SIGNATURE_KEYSTORE_PASSWORD=<password to the keystore you've provided>
SIGNATURE_KEY_ALIAS=<alias of the key from the keystore that you want to use to sign the app>
SIGNATURE_KEY_PASSWORD=<password to that key>

Make sure that you do not commit this file to a public repository.

./gradlew assembleDebug

to create a debug build of the app at app/build/outputs/apk/debug/app-debug.apk, or

./gradlew assembleRelease

for the release version at /app/build/outputs/apk/release/app-release.apk.

Build using Github Actions

You will only be able to make a release build with this method.

Credits

The app's icon is from Freepik.

License

This project is licensed under the GNU General Public License v3.