Spotify Clone

Spotify clone app with playlist listing and music playing function via Spotify API
View on GitHub

Project Overview

Spotify clone app that displays user playlists and songs. It has music player functionality using Spotify APIs.

The project was developed with the principles of clean architecture that is based on 3 layers: data, domain, presentation.

The clean architecture was defined according to the image below created by Robert C. Martin:

Architecture & Technologies

Clean architecture with MVVM pattern
Data layer using repository + data sources
Coroutines for asynchronous programming and managing long tasks
HTTP client and API connection configuration with Retrofit
Dependency Injection with Dagger Hilt
Loading and caching images with Glide
Basic unit tests with JUnit4 and Mockito

Tags
Kotlin MVVM Clean Architecture Repository Pattern Coroutines Flow Retrofit Dagger Hilt Glide JUnit4 Mockito