Skip to content

GeorgiyShur/LowkeyTest

Repository files navigation

Project structure

The project is implemented using MVVM architecture with Clean Architecture approach. The view layer is represented by Compose-based UI files. The presentation layer contains ViewModels, which are communicating with domain layer via use cases. The repositories serve as an interface between domain and feature-independent data sources (data layer).

There are two screens in the app, which are integrated into a simple Compose-based navigation. The first screen displays a paged list of curated photos from Pexels API. The pull-to-refresh functionality is also implemented. The code for this screen is located in list package. The second screen is just a fullscreen view of selected photo. Its code is contained inside detail package.

Retrofit library is used for client-server communication. For dependency injection I'm using the classic combination of Dagger and Hilt libraries. Image loading and displaying is handled by Coil for Compose.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages