Skip to content

lzaytseva/KinopoiskApiTest

Repository files navigation

Тестовое задание для авито

Суть задания

Разработать фронтенд приложения для быстрого поиска информации по фильмам и сериалам с платформы «Кинопоиска».

Используемые технологии и инструменты

  • Kotlin
  • Retrofit
  • Kotlin coroutines
  • Dagger
  • ViewBinding
  • RecyclerView, DiffUtil
  • Clean Architecture (MVVM)

Функционал приложения

Приложение состоит из двух страниц:

Страница со списком всех фильмов

  • Отображается список фильмов и сериалов
  • Реализована пагинация
  • Можно отфильтровать выдачу по году, стране, возрастному рейтингу, рейтингу кинопоиска, типу (фильм, сериал)
  • Реализован поиск по названию фильма
  • Можно перейти на страницу фильма из выдачи
  • Поиск осуществляется не при каждом вводе символа, а в момент когда с ввода последнего символа прошла 1 секунда (debounce)

Страница с отдельным фильмом

Отображается информация о фильме или сериале, в том числе:

  • название фильма/сериала
  • описание
  • рейтинг
  • отзывы
  • постер
  • изображение
  • список актеров
  • спиоск съемочной команды

В случае, если какой-то из списков пустой реализовано отображение заглушки
Реализована кнопка «назад», которая ведет на выдачу. Фильтры и номер страницы при этом сохраняется.

Пример использования

app.mp4

Инструкция по установке

Скачать apk в релизах:

Get it on GitHub

Или: Скачать репозиторий и указать в graddle.properties ключ в переменной apiKey

Что хотелось, но не успелось

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

Не успела

  • Настроить стили поля поиска, toggle button и слайдера в фильтрах под общий стиль преложения
  • Отрефакторить до конца приложение и вынести используемые методы в нескольких местах в отдельные классы Очень хотелось:
  • При нажатаии на информацию о сезонах показывать экран со всеми сезонами и сериями
  • Историю поиска
  • Пагинация для всех деталей

Какие остались баги

  • Баг с toogle button, при обновлении фильтров выделялось сразу две кнопки, несмотря на single select, поэтому сохранение пришлось оставить только при нажатии кнопки "показать"
  • Дерганье снэкбара, который появляется при ошибке загрузки след. страницы
  • Не очень красивое обновление ресайклеров, когда загружается другой список

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages