This app demonstrates the following views and techniques:
- Retrofit - to make api calls to an HTTP web service
- OkHttp - to logging
- Glide - to load and cache images by URL.
- Koin - for dependency injection
- Moxy - for working with MVP
- Recycler View - with Diffutils for correct display of elements when they are changed
- View Binding in XML files
- MVP architectural pattern
- Single activity pattern
- Navigation - with the SafeArgs plugin for parameter passing between fragments
- Model is responsible for handling all business logic, communication with backend server and database operations.
- The View is responsible for displaying data to a user in the form of UI screens.
- The Presenter is acted as a middleman between View and Model. It basically retrieves data from Model and returns it to View for display purpose.