Skip to content

realism-dev/Music-App

Repository files navigation

MusicApp - Android приложение для работы с треками

MusicApp — это Android приложение, позволяющее искать, прослушивать и скачивать музыкальные треки через API, а также просматривать скачанные треки и управлять воспроизведением.

Функциональные экраны:

  • Экран поиска треков из API — отображает список треков, доступных через внешний API.
  • Экран скачанных треков — позволяет пользователю просматривать все загруженные на устройство треки.
  • Экран воспроизведения — воспроизводит трек, отображает обложку и прогресс воспроизведения. Поддерживает управление воспроизведением (play/pause, перемотка).

Стек технологий:

  • Kotlin — основной язык разработки.
  • Kotlin Coroutines — для работы с многопоточностью.
  • MVVM, Clean Architecture — архитектурные паттерны для разделения данных, логики и UI.
  • XML - для работы с View
  • Kotlinx Serialization - сериализация данных.
  • Room — для работы с локальной базой данных.
  • Jetpack Navigation - для навигации между фрагментами.
  • Dagger2 - для инъекции зависимостей.
  • Retrofit — для взаимодействия с API.
  • Glide — для загрузки изображений.
  • LiveData / ViewModel — для реактивного обновления UI.

Требования:

  • Android Studio последней версии.
  • JDK 8+ для компиляции проекта.
  • Минимальная версия AndroidAPI 26 (Android 8.0).

Установка и запуск:

1. Клонируйте репозиторий:

git clone https://github.com/realism-dev/music-app.git

2. Откройте проект в Android Studio:

В меню выберите File -> Open и выберите папку с клонированным проектом.

3. Синхронизируйте проект с Gradle:

После того как проект откроется, Android Studio предложит вам синхронизировать Gradle. Нажмите Sync Now.

4. Установите необходимые зависимости:

Проект использует несколько сторонних библиотек, указанных в файле build.gradle. Все они будут автоматически загружены при синхронизации Gradle.

5. Запуск приложения:

Подключите Android-устройство или запустите эмулятор. Нажмите Run в Android Studio. Приложение откроется на вашем устройстве с экраном поиска треков из API.

Возможности приложения:

Поиск и отображение треков из API.

В проекте использовалось Api Deezer.

Воспроизведение трека с прогресс-баром.

Реализован прогресс-бар, кнопки: воспроизведения/паузы, следующий трек, предыдущий трек.

Перемотка трека с помощью ползунка.

Есть возможность вручную изменять положение ползунка на прогресс-баре и прослушивать трек с выбранной позиции.

Скачивание треков и просмотр скачанных треков.

Реализована возможность сохранения треков в хранилище приложения.

Структура проекта:

app — основной модуль приложения.

tracks — модуль, отвечающий за логику работы с треками и экран воспроизведения.

data — слой доступа к данным (API, база данных).

Ветки разработки:

master/main — основная ветка.

feature/downloaded-tracks — экран скачанных треков.

feature/api-tracks — экран треков из API.

feature/playback-screen — экран воспроизведения.

Лицензия: MIT License

Проблемы/вопросы, возникшие в процессе разработки

Хранение скачанных треков

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

Разработка фичей в отдельных ветках

С данной задачей не справился, т.к. ранее не работал в таком формате. Буду рад, если кто-то научит и покажет как надо :)

Фоновый плеер

Не хватило времени реализовать, буду допиливать.

Unit-тесты

Также не хватило времени. В разработке.

About

MusicApp — это Android приложение, позволяющее искать, прослушивать и скачивать музыкальные треки через API, а также просматривать скачанные треки и управлять воспроизведением.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages