- Clean Architecture & MVVM & Moduarization
- search for list of artist.. default is drake as he is my favorite
- click on artist to fetch artist album
- dark mode supported
- Unit testing
- git log to track progress
- Data module: handle communicating with server and providing data source
- Domain module: handle business logic
- Presentation module: contain viewmodel to communicate with domain usecase
- artist module: for artist view and adapter
- app module for app entry point and dependency inject module
- Coroutine best practice
- This approach help to build scalable, maintainable and robust application with software good practice(SOLID ,DRY,KISS, design pattern) in place
Here is the app screen