Unsplasher is a mobile application that allows users to browse and search for high-quality, royalty-free images from the Unsplash API. The app provides a seamless and intuitive user interface for discovering, searching and downloading stunning photographs for personal or commercial use.
- MVVM Architecture: The project follows the Model-View-ViewModel architectural pattern, which promotes separation of concerns and maintainability.
- Clean Architecture: The app is designed using the principles of Clean Architecture, ensuring a modular and scalable codebase.
- Modular Structure: The application is structured into modules, enabling better code organization and reusability.
- Jetpack Components: The app utilizes various Jetpack components such as LiveData, ViewModel, Navigation, Room, and Paging for efficient and robust development.
- Dependency Injection: Dagger Hilt is used for dependency injection, enabling modular and testable code.
- Networking: Retrofit is used for handling network requests and communication with the Unsplash API.
- Database: Room is used for local data storage and caching of images and user preferences.
- Image Loading: Glide library is used for efficient image loading and caching.
- Testing: JUnit and Espresso are used for unit and UI testing respectively, ensuring the reliability and quality of the app.
- register an account on Unsplash
- on the site, in the developer console, create an application, indicating all available scopes (https://unsplash.com/oauth/applications)
- register the received keys in local.properties:
- ACCESS_KEY = Access Key
- SECRET_KEY = Secret key
Unsplasher - это мобильное приложение, которое позволяет пользователям просматривать и искать высококачественные бесплатные изображения из API Unsplash. Приложение предоставляет интуитивно понятный интерфейс для просмора, поиска и загрузки потрясающих фотографий для личного или коммерческого использования.
- Архитектура MVVM: Проект следует архитектурному шаблону Model-View-ViewModel, который способствует разделению ответственности и обеспечивает легкость поддержки кода.
- Чистая архитектура: Приложение разработано с использованием принципов чистой архитектуры, обеспечивающей модульность и масштабируемость кодовой базы.
- Модульная структура: Приложение имеет модульную структуру, позволяющую лучшую организацию кода и повторное использование.
- Компоненты Jetpack: Приложение использует различные компоненты Jetpack, такие как LiveData, ViewModel, Navigation, Room и Paging для эффективной и надежной разработки.
- Внедрение зависимостей: Используется Dagger Hilt для внедрения зависимостей, обеспечивающего модульность и возможность тестирования кода.
- Сетевое взаимодействие: Retrofit используется для обработки сетевых запросов и взаимодействия с API Unsplash.
- База данных: Room используется для локального хранения данных и кэширования изображений и пользовательских настроек.
- Загрузка изображений: Для эффективной загрузки и кэширования изображений используется библиотека Glide.
- Тестирование: JUnit и Espresso используются для модульного и UI-тестирования соответственно, обеспечивая надежность и качество приложения.
- зарегистрировать аккаунт на Unsplash
- на сайте, в консоли разработчика создать приложение, с указанем всех доступных скоупов (https://unsplash.com/oauth/applications)
- полученые ключи прописать в local.properties:
- ACCESS_KEY = Access Key
- SECRET_KEY = Secret key
- E-mail: filin2hat@yandex.ru
- Telegram: @filin2hat