Repolode
igorwojda

igorwojda/android-showcase

Пример Android-приложения на Kotlin, демонстрирующий Clean Architecture, модульную структуру, Jetpack Compose и convention plugins для Gradle.

Звёзды
6,810
Форки
902
Открытые issues
7
Последний коммит
4 дня назад

Что это?

Android Showcase — пример Android-приложения на Jetpack Compose, которое показывает информацию об альбомах из Last.fm API. В приложении есть поиск, экраны с подробностями об альбомах и локальное кэширование через Room. Проект призван показать, как можно организовать Android-кодовую базу для production, а не стать готовым потребительским продуктом. Экраны избранного и профиля пока в разработке.

Приложение разделено на feature-модули (album, profile, favourite), а также общие модули base и library. В каждой feature используется трёхслойная структура Clean Architecture: presentation, domain и data. MVVM сочетается с состоянием интерфейса в стиле MVI, которое передаётся через Kotlin Flow. Логика сборки вынесена в convention plugins, а версии зависимостей управляются через Gradle version catalog.

В проект также входят инструменты контроля качества: архитектурные тесты Konsist, Detekt, Ktlint, Spotless, Android Lint и CI-пайплайн на GitHub Actions. Для внедрения зависимостей используется Koin, для сетевых запросов и загрузки изображений — Retrofit и Coil, а тесты написаны с помощью JUnit, Mockk и Kluent.

Ключевые возможности

  • 01Список альбомов с поиском и экраны подробной информации об альбомах на основе Last.fm API
  • 02Feature-модули с трёхслойной Clean Architecture и сочетанием MVVM с состоянием в стиле MVI
  • 03Convention plugins для Gradle и централизованный version catalog
  • 04Проверки Konsist, Detekt, Ktlint, Spotless и Android Lint, подключённые к CI
  • 05Локальное кэширование через Room, внедрение зависимостей с Koin и интерфейс на Compose

Сценарии использования

  • Изучить, как организовать многомодульное Android-приложение с Clean Architecture
  • Взять convention plugins для Gradle и version catalogs за основу нового проекта
  • Посмотреть примеры архитектурных тестов с Konsist и настройки статического анализа
  • Узнать, как сочетать Jetpack Compose, Flow и Koin в приложении, приближённом к реальному

Что важно знать

  • Функции Favorites и Profile всё ещё находятся в разработке.
  • Тестирование пользовательского интерфейса с помощью Espresso всё ещё находится в разработке.

В подборках

Темы

Частые вопросы

Что такое android-showcase?
Пример Android-приложения на Kotlin, демонстрирующий Clean Architecture, модульную структуру, Jetpack Compose и convention plugins для Gradle. Android Showcase — пример Android-приложения на Jetpack Compose, которое показывает информацию об альбомах из Last.fm API. В приложении есть поиск, экраны с подробностями об альбомах и локальное кэширование через Room. Проект призван показать, как можно организовать Android-кодовую базу для production, а не стать готовым потребительским продуктом. Экраны избранного и профиля пока в разработке.
android-showcase можно использовать бесплатно? Какая у него лицензия?
android-showcase распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
android-showcase всё ещё поддерживается?
Активно поддерживается. Последний коммит в android-showcase — 3 нояб. 2026 г..
Для чего можно использовать android-showcase?
Изучить, как организовать многомодульное Android-приложение с Clean Architecture Взять convention plugins для Gradle и version catalogs за основу нового проекта Посмотреть примеры архитектурных тестов с Konsist и настройки статического анализа Узнать, как сочетать Jetpack Compose, Flow и Koin в приложении, приближённом к реальному
Где скачать android-showcase?
Исходный код и инструкции по установке — на GitHub: https://github.com/igorwojda/android-showcase

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Движок активного шумоподавления для Android на Kotlin: обнаруживает низкочастотный гул с помощью FFT и воспроизводит звук в противофазе, чтобы его компенсировать.

4,9 тыс.+711 за неделю6KotlinApache-2.0Обновлён 2 месяца назад

Пошаговый пример на .NET 9, показывающий, как система фитнес-студии развивается от простого монолита до модульного монолита, микросервисов и тактического DDD.

3,6 тыс.+2 за неделю548C#MITОбновлён 11 дней назад