This project has been fully written in Kotlin with the use of following libraries:
- Architecture Components
- Hilt
- Navigation Component
- Flow
- Coroutines
- MockK
- Room
- Gson
This project is built using MVVM architecture pattern in context of Clean Architecture. So, there are three layers in the project:
- Domain: Which is responsible for basic logics and provides use cases and interfaces for repositories.
- Data: Which provides data needed for the app to function.
- Presentation: Which handles UI and presentation logic of the app.