Skip to content

alexxk2/CreativeMusic

Repository files navigation

CreativeMusic

Приложение для поиска, прослушивания и сохранения любимых песен в плейлисты. Приложение состоит их шести экранов с bottom navigation.

Экран "Поиск"
На этом экране пользователь может искать музыкальные композиции по любому непустому набору слов поискового запроса. Результаты поиска представляют собой список, содержащий краткую информацию о треках. При вводе нового текста в поле ввода новый поиск начинается с debounce в 2000 миллисекунд. При наличии истории поиска и пустом поле ввода будет отображаться история поиска треков и кнопка "Очистить историю". По клику на трек из поиска или из истроии пользователь перейдет на экран плеера.

Экран "Плеер"
В плеере пользователь видит обложку трека или плейсхолдер, если обложки нет. На экране есть 3 активные кнопки, кнопка play, кнопка добавить в альбом и добавить в избранное. Для прослушиванию доступны тридцатисекундные демо-треки. Добавление трека в плейлист осуществляется через меню в bottom sheet, где трек можно добавить в существующий плейлист или создать новый.

Экран "Избранное"
Польователь может добавлять треки в избранное, чтобы быстро вернуться к полюбившейся композиции. При пустом списке избранного отображается соответствующий плейсхолдер. Данные сохраняются с помощью Room.

Экран "Плейлисты"
Пользователь может объединять любимые треки в плейлисты. На этом экране отображается список позданных плейлистов и количество треков в них. У плейлистов есть обложка, название и количество треков. Пользователь может в любой момент создать новый плейлист нажав на кнопку "Новый плейлист"

Экран "Новый плейлист"
Это экран создания и редактирования плейлистов. Название плейлиста - обязательное поле, а обложка и описание - опциональны. В качестве обложки можно выбрать любой изображение с телефона

Экран "Настройки"
На экране настроек можно выбрать темную или светлую тему, поделиться приложением, написать в поддержку и почитать пользовательское соглашение. Приложение поддерживает портретную и альбомную ориентацию.

Используемый стек

  • Kotlin
  • Clean Architecture
  • Koin
  • Retrofit
  • Room
  • SOLID
  • MVVM (ViewModel, LiveData)
  • RecyclerView
  • ViewBinding
  • Navigation Component
  • Glide
  • Coroutines

Запись работы основных экранов

Поиск трека и плеер

music_1

Добавление трека в плейлист и история

music_2

Избранные треки и плейлисты

music_3

Создание плейлиста

music_4

Добавление трека в новый плейлист

music_5

Настройки

music_6