RuStore Catalog — это клиентское Android-приложение, реализующее каталог мобильных приложений с возможностью просмотра витрины, поиска, фильтрации по категориям и установки APK-файлов. Проект разработан с использованием современного Android-стека: Kotlin, Jetpack Compose, Coroutines, Flow и Clean Architecture.
🎥 Видео демонстрации: https://cloud.mail.ru/public/NN5Z/k7LkazFYU
- Клонировать репозиторий:
git clone git@github.com:NikitaKrylov/vkrustore.git
cd vkrustore- Собрать и установить(билдит apk файл. не обязательно):
./gradlew clean assembleDebug - Запуск в Android Studio:
- Откройте проект, дождитесь синхронизации Gradle(нажать кнопку sync).
- Нажмите
▶️ Run на вашем устройстве или эмуляторе.
- Показывается только при первом запуске
- Содержит:
- логотип RuStore
- приветственный текст
- кнопку перехода на витрину
- Состояние сохраняется локально
- Отображает список приложений:
- иконка
- название
- краткое описание
- категория
- Клик открывает карточку приложения
- Поддерживает:
- Pull-to-Refresh
- обработку ошибок
- состояния загрузки
- Переход к экрану категорий
Поддерживаемые категории:
- Финансы
- Инструменты
- Игры
- Государственные
- Транспорт
- Отображает список категорий
- Показывает:
- название категории
- количество приложений
- Клик открывает витрину, отфильтрованную по категории
- Автоматическое открытие клавиатуры
- Поиск в реальном времени
- Фильтрация по названию приложения
- При отсутствии результатов отображаются популярные приложения
- Поддержка:
- состояний загрузки
- пустого результата
- ошибок
Отображает полную информацию о приложении:
- иконка
- название
- разработчик
- категория
- возрастной рейтинг:
- 0+
- 6+
- 8+
- 12+
- 16+
- 18+
Дополнительно:
- горизонтальный список скриншотов
- полноэкранный просмотрщик скриншотов
- описание приложения
- кнопка установки APK
- Полноэкранный режим
- Горизонтальная прокрутка
- Открывается с выбранного скриншота
- Поддерживает возврат назад
Реализовано:
- загрузка APK через DownloadManager
- отслеживание прогресса загрузки
- установка через PackageInstaller
- проверка установленного приложения
- обработка ошибок
Поддерживает:
- фоновую загрузку
- устойчивость к смене конфигурации
- восстановление состояния
Все экраны корректно обрабатывают:
- Loading state
- Error state
- Success state
Проект построен с использованием Clean Architecture + МVI.