Разработать фронтенд приложения для быстрого поиска информации по фильмам и сериалам с платформы «Кинопоиска».
- Kotlin
- Retrofit
- Kotlin coroutines
- Dagger
- ViewBinding
- RecyclerView, DiffUtil
- Clean Architecture (MVVM)
Приложение состоит из двух страниц:
- Отображается список фильмов и сериалов
- Реализована пагинация
- Можно отфильтровать выдачу по году, стране, возрастному рейтингу, рейтингу кинопоиска, типу (фильм, сериал)
- Реализован поиск по названию фильма
- Можно перейти на страницу фильма из выдачи
- Поиск осуществляется не при каждом вводе символа, а в момент когда с ввода последнего символа прошла 1 секунда (debounce)
Отображается информация о фильме или сериале, в том числе:
- название фильма/сериала
- описание
- рейтинг
- отзывы
- постер
- изображение
- список актеров
- спиоск съемочной команды
В случае, если какой-то из списков пустой реализовано отображение заглушки
Реализована кнопка «назад», которая ведет на выдачу. Фильтры и номер страницы при этом сохраняется.
app.mp4
Скачать apk в релизах:
Или: Скачать репозиторий и указать в graddle.properties ключ в переменной apiKey
Очень много было проблем с сервером за эти дни, из-за этого были проблемы с тестированием и заминки в дальнейшей разработке.
- Настроить стили поля поиска, toggle button и слайдера в фильтрах под общий стиль преложения
- Отрефакторить до конца приложение и вынести используемые методы в нескольких местах в отдельные классы Очень хотелось:
- При нажатаии на информацию о сезонах показывать экран со всеми сезонами и сериями
- Историю поиска
- Пагинация для всех деталей
- Баг с toogle button, при обновлении фильтров выделялось сразу две кнопки, несмотря на single select, поэтому сохранение пришлось оставить только при нажатии кнопки "показать"
- Дерганье снэкбара, который появляется при ошибке загрузки след. страницы
- Не очень красивое обновление ресайклеров, когда загружается другой список