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