Цвет интерфейса: мягкий синий (#4F8DF7) · Стиль баннера: 2 (светлый)
Android-приложение с 6 экранами: поиск музыки, медиатека (2 таба: избранное и плейлисты/альбомы), аудиоплеер, кино, погода, чат.
- UI/Архитектура:
- Jetpack Compose — экраны: Поиск музыки, Медиатека (2 таба), Настройки.
- Fragments / Activities — для учебных целей и демонстрации многослойной навигации.
- Навигация: кнопочная кастом-навигация + нижняя навигация, кастомный тулбар-«цветок» с actions.
- Музыка: поиск треков; если есть видео — встроенное проигрывание; в ландшафте — полноэкранный режим. Шаринг: один трек из плеера или список треков из истории с экрана поиска.
- Медиатека: ❤️ Избранное и 📝 Плейлисты/Альбомы; шаринг альбомов/плейлистов.
- Кино (Activity): 3 режима просмотра — постер / список / детали (фрагменты с 2 табами); собственная нижняя навигация; перевод названий Ru→En; шаринг фильма.
- Погода (Activity): Foreca API; при недоступности данных — фолбэк на открытые источники (аэропорты мира).
- Чат (Fragment): Firebase (auth + database), личные сообщения и отправка картинок.
- UI/UX: кастомные анимации, темы, выбор цветов (иконки, текст, заглавие, фон), оффлайн-уведомления, мультиязычность.
Гибридный стек: Jetpack Compose + Fragments/Activities + многоэкранная навигация + кастомные анимации + работа с API + Firebase.
![]() |
![]() |
![]() |
![]() |
|
|
|
Нижняя навигация
• Отображается на 6 внутренних экранах. |
|
|
• Переходы прямые, без stack, и с кастомной анимацией.
• Нажатие "заглавия" в тулбаре возвращает на первый набор по 3 кнопки из главного меню.
|
|
Поиск музыки
• Хранит историю последних **10 треков** ➕ обновление на верхнюю строку в истории |
|
|
|
• При клике на трек — переключение на вертикальный скрол
• Горизонтальный и вертикальные скролы реализованы на базе RecyclerView ➕ альтернатива на базе ViewPager2 в экране Кино
![]() |
![]() |
![]() |
![]() |
![]() |
|
|
• Удаление треков из истории и списка — по **нажатию на стрелку** |
|
|
|
- Нижний навигатор (список пуст, динамика)
- Альтернативное исполнение: Автоматическая прозрачность на экране "Кино" при не пустом списке
- Поддержка переключения темы, шаринга 🎵 трека или 🎶 треков, смены цветов текста, кнопок и фона, все функции настроек с 🌼 тулбара
- При импорте 🎵 трека или 🎶 треков поддерживается как вертикальный так и горизонтальный скролл
|
- Включении трека работает 🕒 трека и кнопки play, pause, favorite, share |
|
|
|
- При отправке трек оформление с именем исполнителя и названием трека(ов)
- В экране поиска длина названия или исполнителя трека ограничена в одну строку, тогда как при отдельном просмотре нет ограничений, доп. в ландскейпе скрол для теста
![]() |
![]() |
![]() |
|
❤️ Избранное |
|
|
📝 Создание плейлистов
• Создание пользовательских плейлистов
• Добавление обложки, названия и описания
![]() |
![]() |
![]() |
![]() |
![]() |
• Добавление треков в плейлисты
• Управление плейлистами (редактирование, удаление)
• Импорт-экспорт плейлистами
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Смена темы (глобально или через тулбар) |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Поиск фильмов:
- Кнопка старта как альтернатива экрану поиска песен.
- Автостарт реализован (и закомментирован в коде).
- Результаты поиска при переходе на трек:
- ViewPager2 с горизонтальным скролом (по умолчанию).
- Переключение на вертикальный скрол — по кнопке.
- Верхний тулбар и нижний навигатор доступны.
- Деление фильмов на избранные (❤️).
- При поиске объединяются и выдаются результаты двух режимов поиска:
- Обычный — имена актёров.
- Расширенный — краткое описание фильма.
- При отдельном просмотре фильма как альтернатива экрану поиска песен — без тулбара и нижнего навигатора.
- Переворот списка (reverse scroll) — по фильтру.
- ✨📽️💃 Шаринг кинофильма при просмотре в режиме просмотра постера фильма
- Получение кинофильма и распознавание если она в вашем списке избранных
- Переход на фрагменты, где имеется детали фильма, список и имена звезд и их фотографии
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Ru версия, с определением языка из поля ввода поиска
- Перевод названия фильма Ru->En альтернативно из ресурсов Википедия, тексты качества "прямого" перевода и все же "лучше чем ничего"
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Получение данных с Foreca API.
- В связи с ограничением бесплатного пользования в 30 дней дополнено в случае отсуствия информации поиcк через бесплатные сервисы аэропортов мира
- После ввода названия доп запрашивается код страны для нахождения определением через долготу и ширину
- Верхний тулбар и нижний навигатор доступны.
- Переключение темы и поддержка всех стандартных функций тулбара.
![]() |
![]() |
![]() |
![]() |
|
|
|
- Используется:
- Реализован на базе FireBase (личка, позже + групповой чат)
- Отображает тулбар и доступ к теме, делиться и другим действиям.
- экран регистрация пользователей (профиль)
- экран списка контактов
- экран обмена текстовыми сообщениями и картинками
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Кастомные анимации переходов между экранами (6 видов).
- Реализация
Dropdownчерез вложенные вращающие круги. - Переключение языка и видимости UI в зависимости от локали.
- Прямые переходы (без стека), максимально быстрый отклик и удаление блуждания при длинных переходах.
- Удобный тулбар через
BaseActivity. - В каждом экране реализовано сообщение на отсутсвии интернета экран очищается для показа ошибки на 3 секунды и затем все обратно
- Расширение возможностей экрана ExtraOption (сделано)
- Оптимизация истории поиска треков и фильмов. (сделано)
- Поддержка более длительного токена погоды. (сделано)
- Возможность синхронизации истории с облаком. (сделано)
- Клонировать репозиторий: git clone https://github.com/amanzhola/playList_Maker
- Открыть проект в Android Studio
- Собрать и запустить на эмуляторе или устройстве
Имя: Аманжол Аимов Почта: [email protected]
GitHub: github.com/amanzhola
PlayList Maker is a multifunctional Android multimedia application with 6 main screens:
Music Search, Media Library, Audio Player, Movies, Weather and Chat.
The project is intentionally built using different UI and navigation approaches:
| Feature | Implementation |
|---|---|
| Music Search, Media Library, Settings | Jetpack Compose UI |
| Chat (private messaging, Firebase) | Fragments + ViewModel |
| Movie Screen (poster preview, lists, details) | Activity + Fragments + ViewPager2 |
| Weather Screen (API + fallback sources) | Activity + ViewModel |
This structure demonstrates:
- Compose + Fragment hybrid architecture
- Shared ViewModels and state handling
- Multi-screen navigation without back stack confusion
- Custom toolbars and animated transitions
- Local + Remote data handling (API + Firebase)
Tech Stack
- Kotlin
- Jetpack Compose
- MVVM + ViewModel
- Coroutines
- Retrofit
- Firebase (Auth, Realtime DB)
- Coil
- RecyclerView / ViewPager2























































































































