In this project, I used Clean Architecture with MVVM using Dagger-Hilt, Coroutines, Navigation Component (with safe args), Retrofit and Glide. On the other hand, I used JUnit, MockWebServer and Truth libraries to verify the accuracy of the requests.
- data: This package contains models, datasources and endpoint interface for news api.
- domain: This package contains usecases and repositories for sending requests to fill models and serve data to presentation layer.
- presentation: All UI components and ViewModels are located in this package.
- common: Common classes used in many parts of the application are under this package.