Skip to content

Repository files navigation

🎵 Playlist Maker

Учебный Android-проект, написанный с нуля в рамках курса Яндекс.Практикум — мобильная разработка на Android.


📲 Скачать

Актуальный APK доступен на странице Releases.


📖 О проекте

Playlist Maker — приложение для поиска треков через iTunes Search API, прослушивания превью и управления собственными плейлистами. Проект охватывает полный цикл разработки Android-приложения: от UI до работы с базой данных и сетью.


✨ Функциональность

🔍 Поиск треков

  • Поиск по iTunes Search API в реальном времени
  • История поиска с возможностью очистки
  • Отображение обложки, названия, исполнителя и длительности

🎧 Аудиоплеер

  • Воспроизведение 30-секундного превью трека
  • Прогресс-бар с таймером
  • Кнопки «Добавить в избранное» и «Добавить в плейлист»

📋 Плейлисты

  • Создание плейлиста с названием, описанием и обложкой
  • Редактирование существующего плейлиста
  • Добавление треков в плейлист прямо из плеера
  • Удаление треков и плейлистов
  • Шаринг плейлиста текстом в другие приложения
  • Суммарная продолжительность треков

🛠️ Стек технологий

Слой Технологии
Язык Kotlin
Архитектура MVVM + Clean Architecture (Data / Domain / Presentation)
DI Koin
База данных Room (SQLite)
Сеть Retrofit + Gson
Навигация Navigation Component (Single Activity)
Изображения Glide
Асинхронность Coroutines + Flow
UI ViewBinding, Material Design 3, ConstraintLayout, BottomSheet
Хранилище SharedPreferences (настройки), FileSystem (обложки плейлистов)

🏗️ Архитектура

app/
├── data/
│   ├── db/                  # Room entities, DAOs, AppDatabase
│   ├── network/             # Retrofit, ITunes API
│   └── repository/          # Реализации репозиториев
├── domain/
│   ├── api/                 # Интерфейсы репозиториев и интеракторов
│   ├── impl/                # Реализации интеракторов
│   └── model/               # Доменные модели (Track, Playlist, ...)
├── presentation/
│   ├── media/               # Медиатека: Избранное, Плейлисты
│   │   └── playlists/       # Список, создание, редактирование, экран плейлиста
│   ├── search/              # Поиск треков
│   └── settings/            # Настройки (тема)
├── ui/
│   └── player/              # Аудиоплеер
└── di/
    └── AppModules.kt        # Koin-модули

🚀 Запуск проекта

  1. Клонируй репозиторий:
    git clone https://github.com/YOUR_USERNAME/playlist-maker.git
  2. Открой в Android Studio Hedgehog или новее
  3. Синхронизируй Gradle
  4. Запусти на эмуляторе или устройстве с Android 10+ (API 29+)

📦 Сборка APK

./gradlew assembleRelease

Файл появится в app/build/outputs/apk/release/.


🎓 В рамках курса

Проект разрабатывался поэтапно в рамках учебных спринтов:

  1. Вёрстка экранов, навигация, SharedPreferences
  2. Сеть — поиск треков через iTunes API, история поиска
  3. Аудиоплеер с MediaPlayer
  4. Clean Architecture, Koin, рефакторинг
  5. Coroutines, Room — избранные треки
  6. Плейлисты: создание, добавление треков, экран плейлиста, редактирование, шаринг

About

Приложение для создания плейлистов

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages