МойФильм

Каталог кино, которым пользуются десятки тысяч людей

Самостоятельно разработал и выпустил нативное Android-приложение: подборки, каталог, поиск, избранное и просмотр в одном продукте.

60 тыс.+скачиваний
4,7рейтинг в RuStore
1,4 тыс.оценок пользователей
Каталог категорий МойФильм Карточка фильма Интерстеллар Избранные фильмы в приложении МойФильм
ANDROID · KOTLIN · JETPACK COMPOSE
Дальше: продукт и роль 01 / Кейс МойФильм
02 / ПРОДУКТ И РОЛЬ МОЙФИЛЬМ · CASE STUDY

Один разработчик.
Весь продукт.

МойФильм объединяет подборки, каталог, поиск, избранное и просмотр в одном нативном Android-приложении.

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

60 тыс.+ скачиваний опубликованного продукта в RuStore
03 / ПОИСК КОНТЕНТА ТРИ САМОСТОЯТЕЛЬНЫХ СЦЕНАРИЯ

Как пользователь находит контент

Это не последовательные шаги: можно исследовать категории, найти конкретное название или сразу вернуться к сохранённым фильмам.

КАТАЛОГ

Исследовать категории

Тематические категории в каталоге МойФильма

Подборки по годам, странам и темам помогают выбрать направление без точного запроса.

ПОИСК

Найти конкретное

Результат поиска фильма Интерстеллар

Поиск по названию быстро приводит к нужному фильму или сериалу и его карточке.

ИЗБРАННОЕ

Вернуться позже

Сохранённые фильмы в избранном МойФильма

Сохранённые фильмы остаются под рукой и не требуют повторного поиска.

04 / ОТ КАРТОЧКИ К ПРОСМОТРУ КАРТОЧКА · ПЛЕЕР

Карточка фильма и просмотр

В карточке собраны описание, оценки и жанры. Отсюда пользователь запускает фильм и переходит в плеер с привычными элементами управления.

01

Проверить детали

Название, год, страна, оценки и описание помогают решить, что смотреть.

02

Запустить фильм

В плеере доступны пауза, перемотка, громкость, выбор озвучки, качества и полноэкранный режим.

Карточка фильма Форсаж 7 в приложении МойФильм Плеер фильма Форсаж 7 с открытыми элементами управления
05 / АРХИТЕКТУРА ANDROID-КЛИЕНТА KOTLIN · COMPOSE · ROOM · MEDIA3

Как устроен Android-клиент

Compose-экраны получают состояние из ViewModel. Репозитории отделяют интерфейс от работы с контентом и локальными данными, а воспроизведение передаётся Media3.

UI

Jetpack Compose

Экраны, навигация и действия пользователя.

STATE

ViewModel

Хранит состояние экрана и запускает операции.

DATA

Репозитории

Дают единый доступ к каталогу, поиску, карточке и сохранённым фильмам.

PLAY

Подготовка просмотра

Выбор фильма и параметров превращается в готовый поток для плеера.

PLAYER

Media3

ExoPlayer управляет воспроизведением и освобождает ресурсы вместе с экраном.

ЛОКАЛЬНОЕ СОСТОЯНИЕ Room хранит избранное и историю отдельно от экранного состояния, поэтому сохранённые фильмы доступны после перезапуска приложения.
01 / РАЗДЕЛЕНИЕ ОТВЕТСТВЕННОСТИ

UI не знает, откуда приходят данные

ViewModel и репозитории изолируют Compose-экраны от загрузки, хранения и подготовки контента.

02 / НАТИВНОЕ ВОСПРОИЗВЕДЕНИЕ

Плеер следует жизненному циклу Android

Media3 ставит видео на паузу вместе с приложением и освобождает ресурсы при закрытии экрана.