MusicWiki is a very simple, unofficial Last.fm app that contains information about different music genres, the albums, artists and tracks listed under the genre.
The application has been written completely in Kotlin, follows the recommended MVVM architecture and makes use of the Android Navigation Component for in-app navigation. It uses Retrofit to make network API requests, Glide to load images from the Web into their respective ImageViews. ViewBinding has also been used for referencing different views in the layout xml files, for clean design. Tabs have been implemented using the ViewPager2 library. All the lists and grids in the app have been implemented using RecyclerView.
Some features which might be added in future are pagination to dynamically load more data in RecyclerViews with swipes, and an option to locally persist some data such as favourite albums, artist or tracks.
All of the required information for building this app is available in the API provided by last.fm.
Kotlin, Android Navigation Components, ViewBinding, MVVM Architecture, Kotlin Coroutines, LiveData, Retrofit, Glide, RecyclerView, TabLayout, ViewPager2.
Default First Screen
Expanded First Screen
Genre Info - Albums Tab
Genre Info - Artists Tab
Genre Info - Tracks Tab
Album Info
Artist Info